SMA Webbox abfragen Momentanleistung

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

Suedtschech
Beiträge: 23
Registriert: 30.07.2015, 20:07
System: CCU
Hat sich bedankt: 1 Mal

Re: SMA Webbox abfragen Momentanleistung

Beitrag von Suedtschech » 23.09.2016, 12:44

Hallo Alchy, danke für die rasche AW und Hilfe
Werd wieder testen ung geb Bescheid
Mfg
Suedtschech

Gesendet von meinem LG-D855 mit Tapatalk

Suedtschech
Beiträge: 23
Registriert: 30.07.2015, 20:07
System: CCU
Hat sich bedankt: 1 Mal

Re: SMA Webbox abfragen Momentanleistung

Beitrag von Suedtschech » 25.09.2016, 19:13

Hallo Alchy,

Momentane Ausgabe:
Leistung: NaN
Tagesertrag: NaN
Gesamtertrag: NaN

Das ist die Ausgabe wenn ich das Script teste
.

MFG Südtschech

Suedtschech
Beiträge: 23
Registriert: 30.07.2015, 20:07
System: CCU
Hat sich bedankt: 1 Mal

Re: SMA Webbox abfragen Momentanleistung

Beitrag von Suedtschech » 25.09.2016, 19:49

Hallo Zusammen

Habe glaube Ich den Fehler gefunden,warum der Tagesertrag nicht funktioniert hat.
Habe nochmal in der WEBUI nach dem Objekt PV Ertrag gesucht, so wie es Alchy geschrieben hat.

Ich habe mein Programm in dem das Script läuft, "PV Ertrag" genannt.
Das war der Fehler.
Da bin ich drübergefallen

Danke an Alle die mir mit der Webbox geholfen haben.

Schönen Sonntag Abend

MFG

Südtschech

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: SMA Webbox abfragen Momentanleistung

Beitrag von alchy » 25.09.2016, 20:39

Habe mein Script um ein paar WriteLines erweitert, damit die Probleme auch angezeigt werden.

Das mit dem 2. namensgleichen Objekt hatte ich dir ja geschrieben.
Die Ausgabe MEINES Scriptes habe ich nun angepasst, um Unklarheiten zu beseitigen. Für alle die, die hier zufällig drauf stoßen und auch so was suchen.

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Marcus1@@@
Beiträge: 219
Registriert: 02.01.2016, 14:24
Danksagung erhalten: 21 Mal

Re: SMA Webbox abfragen Momentanleistung

Beitrag von Marcus1@@@ » 05.04.2018, 23:24

Funktioniert das Script von Alchy noch aktuell?

sportie
Beiträge: 4
Registriert: 17.12.2018, 08:52

RPC Script per CUXD Sunny Webbox

Beitrag von sportie » 17.12.2018, 09:24

Hallo geehrte Gemeinde,

ich habe vor meinen Solarstromzähler per RPC abzufragen und dies Per HTTP Post zu realisieren.

https://www.google.de/url?sa=t&rct=j&q= ... vms5kL4XxD
Hier wäre die Doku für die RPC Schnittstelle.

Nun zu meinem Problem.
Teste ich den Aufruf mit dem Restclient Plugin im Firefox per:

Code: Alles auswählen

POST: http://IP/rpc und dem Body: RPC={"version": "1.0","proc": "GetPlantOverview","id": "1","format": "JSON"}
erhalte ich die gewünschte Antwort:
{"format":"JSON","result":{"overview":[{"unit":"W","meta":"GriPwr","name":"GriPwr","value":"0"},{"unit":"kWh","meta":"GriEgyTdy","name":"GriEgyTdy","value":"0"},{"unit":"kWh","meta":"GriEgyTot","name":"GriEgyTot","value":"50834.107"},{"unit":"","meta":"OpStt","name":"OpStt","value":""},{"unit":"","meta":"Msg","name":"Msg","value":""}]},"proc":"GetPlantOverview","version":"1.0","id":"1"}


Quelle: viewtopic.php?t=7994
Nehme ich jetzt das folgende Script:

Code: Alles auswählen

! Script zur Abfrage der SMA-Webbox der PV-Anlage by Alchy v0.2
object tmpa = "PV Leistung"; ! Name Variable Leistung
object tmpb = "PV Ertrag"; ! Name Variable Tagesertrag
object tmpc = "PV Gesamtertrag"; ! Name Variable Gesamtleistung

string url = "ip/rpc?";
! string rpc = "RPC={\"version\":\"1.0\",\"proc\":\"GetPlantOverview\",\"id\":\"1\",\"format\":\"JSON\"}";

! string url = "ip/rpc?RPC={\"version\":\"1.0\",\"proc\":\"GetPlantOverview\",\"id\":\"1\",\"format\":\"JSON\"}";
! +++++++++++ Finger weg ++++++++++++
!string srueck ="";
real tmpd = "NaN";
real tmpe = "NaN";
real tmpf = "NaN";

! dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("wget -q -O -  'http://"#url#"' --post-data="#rpc#"");

dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("wget -q -O -  'http://"#url#"'");

dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
var srueck = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
WriteLine (srueck);
if (!srueck == "") {
WriteLine("Abfrage in Ordnung \n");
if ((dom.GetObject(ID_SYSTEM_VARIABLES)).Get(tmpa)) { real tmpd = ( srueck.StrValueByIndex(",",3).StrValueByIndex("}",0).StrValueByIndex(":",1).StrValueByIndex('"',1) ).ToFloat(); (dom.GetObject(ID_SYSTEM_VARIABLES)).Get(tmpa).State(tmpd);} else { WriteLine("   Variable 1 nicht angelegt");}
if ((dom.GetObject(ID_SYSTEM_VARIABLES)).Get(tmpb)) { real tmpe = ( srueck.StrValueByIndex(",",7).StrValueByIndex("}",0).StrValueByIndex(":",1).StrValueByIndex('"',1) ).ToFloat(); (dom.GetObject(ID_SYSTEM_VARIABLES)).Get(tmpb).State(tmpe);} else { WriteLine("   Variable 2 nicht angelegt");}
if ((dom.GetObject(ID_SYSTEM_VARIABLES)).Get(tmpc)) { real tmpf = ( srueck.StrValueByIndex(",",11).StrValueByIndex("}",0).StrValueByIndex(":",1).StrValueByIndex('"',1) ).ToFloat(); (dom.GetObject(ID_SYSTEM_VARIABLES)).Get(tmpc).State(tmpf);} else { WriteLine("   Variable 3 nicht angelegt");}
}else{
WriteLine("Abfrage nicht in Ordnung");
if ((dom.GetObject(ID_SYSTEM_VARIABLES)).Get(tmpa)) { (dom.GetObject(ID_SYSTEM_VARIABLES)).Get(tmpa).State(tmpd);}
if ((dom.GetObject(ID_SYSTEM_VARIABLES)).Get(tmpb)) { (dom.GetObject(ID_SYSTEM_VARIABLES)).Get(tmpb).State(tmpe);}
if ((dom.GetObject(ID_SYSTEM_VARIABLES)).Get(tmpc)) { (dom.GetObject(ID_SYSTEM_VARIABLES)).Get(tmpc).State(tmpf);}
}
WriteLine ("\nMomentane Ausgabe: \n Leistung: "#tmpd #"\n Tagesertrag: "#tmpe #"\n Gesamtertrag: "#tmpf);

Hierbei Spuckt der CUXD Interpreter folgenden Aufruf aus:

Code: Alles auswählen

wget -q -O - 'http://ip/rpc?RPC={"version":"1.0","proc":"GetPlantOverview","id":"1","format":"JSON"}'
Die Rückgabe welche ich mit WriteLine auslese sie dann folgendermaßen aus:

Code: Alles auswählen

 !DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" 

 html 
	 head 
		 meta http-equiv="Content-Type" content="text/html; charset=UTF-8" 
		 title Sunny WebBox /title 
	 /head 
	 frameset rows="90, *" frameborder="NO" border="0" framespacing="0" 
		 frame src="home_menue.htm" name="home_menue" scrolling="NO" topmargin="0" leftmargin="0" marginheight="0" marginwidth="0" noresize 
		 frame src="home.htm" name="home" scrolling="NO" topmargin="0" leftmargin="0" marginheight="0" marginwidth="0" noresize 
	 /frameset 
 /html 

Wo liegt der Fehler ?

Ich bedanke mich schon einmal für die Hilfe
Zuletzt geändert von alchy am 17.12.2018, 15:05, insgesamt 1-mal geändert.
Grund: zusammengeführt & Titel angepasst & Code in Codetags

sportie
Beiträge: 4
Registriert: 17.12.2018, 08:52

Re: SMA Webbox abfragen Momentanleistung

Beitrag von sportie » 17.12.2018, 14:02

Ich habe das Problem das alle drei Datenpunkte 0 bleiben

Abfrage in Ordnung


Momentane Ausgabe:
Leistung: 0.000000
Tagesertrag: 0.000000
Gesamtertrag: 0.000000
Zuletzt geändert von alchy am 17.12.2018, 15:12, insgesamt 1-mal geändert.
Grund: Link zum anderen Thread entfernt, da zusammengeführt

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: SMA Webbox abfragen Momentanleistung

Beitrag von alchy » 17.12.2018, 15:19

Ich habe die Threads mal zusammengeführt.
Würdest du das Script mal so verwenden wie gepostet und nur die nötigen Anpassungen wie IP usw. durchführen.
Alternativ natürlich das Script des TE, denn der hat zum UNterschied zu mir das Teil und kann es testen.

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

sportie
Beiträge: 4
Registriert: 17.12.2018, 08:52

Re: SMA Webbox abfragen Momentanleistung

Beitrag von sportie » 17.12.2018, 15:39

Hallo,

meine spirenzien sind auskommentiert, diese kommen alle nicht zum tragen.

Ich habe das Script vom TE aber als erstes genau so versucht, meine Änderungen bestand nur in der Dokumentation von Fehlern für mich.

Aber danke für die Info

Home_Smartie
Beiträge: 2
Registriert: 15.10.2019, 06:54

Re: SMA Webbox abfragen Momentanleistung

Beitrag von Home_Smartie » 15.10.2019, 18:05

Hallo Alchy,

ich probiere schon mehrere Tage alle möglichen Skripte aus um meine WebBox auszulesen.
Darunter auch eins von Dir. Leider erhalte ich immer nur diese Antwort.

Code: Alles auswählen

Abfrage in Ordnung 
 !DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" 

 html 
	 head 
		 meta http-equiv="Content-Type" content="text/html; charset=UTF-8" 
		 title Sunny WebBox /title 
	 /head 
	 frameset rows="90, *" frameborder="NO" border="0" framespacing="0" 
		 frame src="home_menue.htm" name="home_menue" scrolling="NO" topmargin="0" leftmargin="0" marginheight="0" marginwidth="0" noresize 
		 frame src="home.htm" name="home" scrolling="NO" topmargin="0" leftmargin="0" marginheight="0" marginwidth="0" noresize 
	 /frameset 
 /html 


Momentane Ausgabe: 
 Leistung: 0.000000
 Tagesertrag: 0.000000
 Gesamtertrag: 0.000000
Hättest Du eine Idee an was es liegen könnte. Ich komme leider nicht weiter da ich mich leider zu wenig mit der Materie auskenne.
Gebe ich den String "http://192.168.0.168/rpc?RPC={\"version ... t\":\"JSON\"}
direkt im Browser ein komme ich auf die Startseite der WebBox.

Wäre super wenn Du mir weiterhelfen könntest.
Zuletzt geändert von alchy am 15.10.2019, 19:29, insgesamt 1-mal geändert.
Grund: Code in Codetags posten

Antworten

Zurück zu „HomeMatic allgemein“