Mastervolt Soladin PV Wandler in IPS bekommen

Hallo Gemeinde,

ich würde gerne die Daten meiner beiden Mastervolt Soladin 1000 PV Wandler in IPS bekommen.
Den dazugehörigen API Schlüssel habe ich generiert. (gilt wohl für beide Wandler)

Nur habe ich soetwas in IPS leider noch nie gemacht.

Wie fange ich denn hier an ?
Was mache ich mit dem API Schlüssel ?
Was muß alles angelegt werden ?
Wie sieht so ein Script vom Aufbau her aus ?

Oh Gott…ist ein Post auf Fragen x limitiert ? :slight_smile:

Ganz liebe Grüße
Sascha

moin
ist denn bei deiner Beschreibung ein „api-string“ vorgegeben ?
der sieht zb so aus:

$json_string = file_get_contents("http://api.wunderground.com/api/$api/geolookup/conditions/lang:DL/q/DL/$ort.json");

muss natürlich auf dein Gerät geändert und abgestimmt werden.
wenn der string stimmt, bekommst du ein XML als Rückgabe, das du parsen kannst.
schau dir mal das Beispiel an.

Beschreibung ?

Genau daran hängt es…ich hab mal eben dem Hersteller eine mail geschrieben…mal sehen, was zurückkommt.

Wahrscheinlich wieder so eine vorgefertigte mail, daß ich überprüfen soll, ob alle Stecker richtig angeschlossen sind…

Dann gehen wir mal in die 2. Runde :slight_smile:

Schonmal vielen Dank fürs Antworten

LG
Sascha

Na super…hier auch schon die ausführliche Antwort :
Sagt das jemanden von euch etwas ? Mir leider nicht :frowning:

Sehr geehrter Herr H…,

wir koennen Ihnen leider keine Programmierhinweise geben, eventuell koennen Sie mit Hilfe von Google oder der unten aufgefuehrten Links antworten finden.

Haben Sie bzgl. dieser Fall noch Fragen oder Anmerkungen, stehen wir Ihnen selbstverständlich gern zur Verfügung. Sie können auf diese E-Mail reagieren oder uns unter folgender Telefonnummer anrufen +49 (0)699 5307 186. Sie erreichen uns Montags bis Freitags von 09:00 bis 18:00 Uhr. Bitte halten Sie die Referenznummer 00030570 griffbereit.

Mit freundlichen Grüßen,

M…

  • Mastervolt Technical Support -

schau dirdasmal an

uff…jetzt kommt langsam die stelle, wo ich mich als mittelmäßiger Anfänger (kein greenhorn, aber dennoch Anfänger) outen muß :frowning:

Die datei ist glaube ich für einen mac…hab hier nur PC am Start.

Meine Wandler sind auf jeden fall 2 „Mastervolt Soladin 1000“, falls das weiterhilft…
Und Mastervolt hat eine webseite (intelliweb) auf die dann quasi zugegriffen wird (denke ich).

Auf der Webseite sehe ich alle Daten meiner Wandler in Echtzeit.
Nur wollte ich das eben in meinem webfrontdesign integrieren und nicht eine externe Seite verlinken…

Puh…aufregender, als ich dachte…

LG
Sascha

dann parse doch einfach deine web-seite

also „einfach“ schonmal nicht für mich ^^

Aber ein guter Ansatz…

eventuell ist dafür der API Key gewesen ?

Muß dann wohl nur meinen benutzername und passwort in die URL mit reinpacken…

Hallo,

habe auch einen Mastervolt Soladin 1000 und würde den auch gerne einbinden. Gibts denn schon irgendwelche Neuigkeiten. Aus den Links hier werde ich nicht so richtig schlau. Eventuell kann man sich ja zusammentun :slight_smile: -> 2 mal gefährliches Halbwissen = 1x Experte :rolleyes:

Gruß

Andreas

Gibt es zu diesem Thema schon etwa neues?
Ich würde gerne die Aktuelle leistung von meiner soladin 1500 in die Homamtic in Highcharts darstellen.
Hat schon jeman den Link herrausgefunden über den man mittels API zu den daten kommt?

lg tom

Ich habe vom Herstelle folgendes Dokument bekommen, nur werde ich trotzdem nich schlau daraus

vielleicht kann jemand damit etwas anfangen IntelliWebAPI.pdf (276 KB)

und mir vielleicht auch weiter helfen

lg Thomas

Hallo,
hier eine quick and dirty Lösung in Java mit Eclipse Paho.
Nur noch intelliWebApiKey und intelliWebUser ändern und es sollte funktionieren.
Könnte man drauf aufbauen und die Daten weiterverarbeiten.
Gruß

import java.io.IOException;
import java.sql.Timestamp;

import org.eclipse.paho.client.mqttv3.*;
import org.eclipse.paho.client.mqttv3.persist.MqttDefaultFilePersistence;

public class intelliWebSubscribeSimple implements MqttCallback {
		
	public static String intelliWebApiKey = ""; 				//ausfüllen
	public static String intelliWebUser = "demo"; 				//ausfüllen
	
	public static void main(String[] args) {
		// Default settings:
		boolean quietMode 	= false;
		String topicSuffix = "/IntelliWeb/v1/account/";
		int qos 			= 2;											
		String broker 		= "intelliweb.mastervolt.com";					
		int port 			= 8883;											
		String clientId 	= intelliWebApiKey;	
		boolean cleanSession = true;										 
		String password = intelliWebApiKey; 	
		String userName = intelliWebUser ;				
			
		String protocol = "ssl://";
    String url = protocol + broker + ":" + port;
    String allTopics = topicSuffix + userName + "/#";

		try {
			intelliWebSubscribeSimple intelliWebClient = new intelliWebSubscribeSimple(url, clientId, cleanSession, quietMode,userName,password);		
			intelliWebClient.subscribe(allTopics,qos);
		} catch(MqttException me) {
			me.printStackTrace();
		}
	}
	private MqttClient 			client;
	private String 				brokerUrl;
	private boolean 			quietMode;
	private MqttConnectOptions 	conOpt;
	private boolean 			clean;
	private String password;
	private String userName;
	
    public intelliWebSubscribeSimple(String brokerUrl, String clientId, boolean cleanSession, boolean quietMode, String userName, String password) throws MqttException {
    	this.brokerUrl = brokerUrl;
    	this.quietMode = quietMode;
    	this.clean 	   = cleanSession;
    	this.password = password;
    	this.userName = userName;

    	String tmpDir = System.getProperty("java.io.tmpdir");
    	MqttDefaultFilePersistence dataStore = new MqttDefaultFilePersistence(tmpDir); 
    	
    	try {
	    	conOpt = new MqttConnectOptions();
	    	conOpt.setCleanSession(clean);
	    	if(password != null ) {
	    	  conOpt.setPassword(this.password.toCharArray());
	    	}
	    	if(userName != null) {
	    	  conOpt.setUserName(this.userName);	   
	    	}

    		// Construct an MQTT blocking mode client
			client = new MqttClient(this.brokerUrl,clientId, dataStore);
			
			// Set this wrapper as the callback handler
	    	client.setCallback(this);
	    	
		} catch (MqttException e) {
			e.printStackTrace();
			log("Unable to set up client: "+e.toString());
			System.exit(1);
		}
    }
  
    public void subscribe(String topicName, int qos) throws MqttException {
    	
    	client.connect(conOpt);
    	log("Connected to "+brokerUrl+" with client ID "+client.getClientId());

    	log("Subscribing to topic \""+topicName+"\" qos "+qos);
    	client.subscribe(topicName, qos);

    	log("Press <Enter> to exit");
		try {
			System.in.read();
		} catch (IOException e) {
		}

		client.disconnect();
		log("Disconnected");
    }

    private void log(String message) {
    	if (!quietMode) {
    		System.out.println(message);
    	}
    }

	public void connectionLost(Throwable cause) {
		log("Connection to " + brokerUrl + " lost!" + cause);
		System.exit(1);
	}

	public void messageArrived(String topic, MqttMessage message) throws MqttException {
		String time = new Timestamp(System.currentTimeMillis()).toString();
		System.out.println("Time:	" +time +
                           "  Topic:	" + topic + 
                           "  Message:	" + new String(message.getPayload()) +
                           "  QoS:	" + message.getQos());
	}

	@Override
	public void deliveryComplete(IMqttDeliveryToken arg0) {
		// TODO Auto-generated method stub		
	}
}