Zählersensor Powerfox Poweropti Leistung auslesen und in Variable schreiben

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

MichaelN
Beiträge: 9562
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 696 Mal
Danksagung erhalten: 1608 Mal

Re: Zählersensor Powerfox Poweropti Leistung auslesen und in Variable schreiben

Beitrag von MichaelN » 12.04.2022, 09:32

Ein bisschen musst Du schon mitarbeiten. Hier gibt es gewisse Spielregeln. Die lauten u. A. keine Nacherzählung en, Screenshots! Das Code Tag sieht so aus </>

Was steht im Fehlerprotokoll? Siehe auch Signatur: Debugging Tips
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

FrankJacobs
Beiträge: 29
Registriert: 11.04.2022, 12:40
System: CCU

Re: Zählersensor Powerfox Poweropti Leistung auslesen und in Variable schreiben

Beitrag von FrankJacobs » 13.04.2022, 18:49

Hallo zusammen,

ok, ich versuche mal die Daten regelkonform ab zu bilden.

Also, die CuxD habe ich in folgender Version:
CUx-Daemon(2.2.0) on CCU(2.61.7)
laut Protokoll im Bereich Status kann ich rauslesen dass die CuxD auch verbunden ist.
Wo kann ich erkennen, ob das die richtige Seriennummer ist? ( CUX2801002)?

In der CUxd steht folgendes wenn ich das Script teste:

Code: Alles auswählen

[code]
Apr 13 18:43:33 ccu2 local0.err ReGaHss: ERROR: ScriptRuntimeError: string username = "frank.jacobs@gmail.com"; string password = "Bauernstraße"; string poweropti_serial = "9c9xxxxxx c"; string usernameEnc = username.UriEncode(); string passwordEnc = password.UriEncode(); string JSON_All; string stemp; integer StrLen; integer pos; real AktuelleLeistung; real VerbrauchSumme; var v_Leistung; var v_Summe; ! diese Systemvariablen als Fließkomma anlegen! string strLeistung = "StromAktLeistung"; str
ng strSumme = "StromSummeVerbrauch"; ! Username, Password ausgeben um Strings selbst zu basteln ! WriteLine(usernameEnc); ! WriteLine(passwordEnc); ! Abfrage der Serial im Browser: ! https://%usernameEnc%:%passwordEnc%@bac ... ll/devices string cmd = "curl -X GET \"https://" + usernameEnc + ":" + passwordEnc + "@backend.powerfox.energy/api/2.0/my/" + poweropti_serial + "/current\""; !Daten der Geräte abrufen dom.GetObject("CUxD.CUX2801002:1.CMD_SETS").State(cmd); dom.Ge
Object("CUxD[/code]

(sorry, kriege das mmit dem "/" nicht hin)

Er zeigt also das Script an und nicht die Jason Werte. Wenn das das Fehlerprotokoll ist.

Irgendwo ist ein Fehler... wisst Ihr wo? Ich checke das mal noch mit dem Fehlerprotokoll in deinen Debugging Tips und stelle das dann hier ein.

BG
Frank

MichaelN
Beiträge: 9562
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 696 Mal
Danksagung erhalten: 1608 Mal

Re: Zählersensor Powerfox Poweropti Leistung auslesen und in Variable schreiben

Beitrag von MichaelN » 13.04.2022, 18:53

Wenn du meine Debugging Tips durchgelesen hättest, wüsstest du auch, was das Code Tag ist :roll:

Der Fehler bedeutet du hast beim Copy und Paste und anpassen einen Fehler eingebaut. Da musst du nun Zeichen für Zeichen vergleichen. Jedes ist wichtig.

Vielleicht hast du auch schlicht das Cuxd device vergessen anzulegen.
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

FrankJacobs
Beiträge: 29
Registriert: 11.04.2022, 12:40
System: CCU

Re: Zählersensor Powerfox Poweropti Leistung auslesen und in Variable schreiben

Beitrag von FrankJacobs » 13.04.2022, 19:11

ok,
habe jetzt mal so ein Programm zum Protokollieren des Scripts gebaut und mal schauen ob da morgen was gemeldet wird. Danke, habe ich von deine Debugging Tips rausgelesen.

In der CUxd habe ich folgenden Eintrag gefunden. kein Datum davor, also vermutlich vom 11.04.2022, ist ach der einzige Eintrag:

Code: Alles auswählen

[(); !  WriteLine( JSON_All );     pos = JSON_All.Find( "\"Watt\":" ) + 7;   JSON_All = JSON_All.Substr( pos, JSON_All.Length() - pos );   pos = JSON_All.Find( "," );   stemp = JSON_All.Substr( 0, pos ); !  WriteLine( stemp );   AktuelleLeistung = stemp.ToFloat(); !  WriteLine( AktuelleLeistung );     pos = JSON_All.Find( "\"A_Plus\":" ) + 9;   JSON_All = JSON_All.Substr( pos, JSON_All.Length() - pos );   pos = JSON_All.Find( "," );   stemp = JSON_All.Substr( 0, pos ); !  WriteLine( stemp );   VerbrauchSum
e = stemp.To]

Also hatte er schonmal eine Verbindung und hat zumindest die zwei Werte (+7) (+9) ausgelesen, auch wenn die hier im Text versteckt sind. 

Ich hoffe, dass hilft den Fehler ein zu kreisen. 

Tut mir auch echt leid euch hier zu bemühen und ich mich sicher ungewöhnlich anstelle. Was kann noch an Daten besorgen um den Fehler zu finden ?

BG
Frank

FrankJacobs
Beiträge: 29
Registriert: 11.04.2022, 12:40
System: CCU

Re: Zählersensor Powerfox Poweropti Leistung auslesen und in Variable schreiben

Beitrag von FrankJacobs » 13.04.2022, 19:15

die letzten Eintrag von gerade melden "Run-Time-Error" siehe hier:

Code: Alles auswählen

[Apr 13 19:11:00 ccu2 local0.err ReGaHss: ERROR: ScriptRuntimeError:  string username = "frank.jacobs@gmail.com"; string password  = "Bauernstrasse"; string poweropti_serial = "9xxxxxxxxc";   string usernameEnc = username.UriEncode(); string passwordEnc = password.UriEncode(); string JSON_All; string stemp; integer StrLen; integer pos; real AktuelleLeistung; real VerbrauchSumme; var v_Leistung; var v_Summe; ! diese Systemvariablen als Fließkomma anlegen! string strLeistung = "StromAktLeistung"; st
ing strSumme = "StromSummeVerbrauch";   ! Username, Password ausgeben um Strings selbst zu basteln ! WriteLine(usernameEnc); ! WriteLine(passwordEnc); ! Abfrage der Serial im Browser: ! https://%usernameEnc%:%passwordEnc%@backend.powerfox.energy/api/2.0/my/all/devices  string cmd = "curl -X GET \"https://" + usernameEnc + ":" + passwordEnc + "@backend.powerfox.energy/api/2.0/my/" + poweropti_serial + "/current\"";  !Daten der Geräte abrufen   dom.GetObject("CUxD.CUX2801002:1.CMD_SETS").State(cmd);   dom.G
tObject("CUx]

Er führt das Programm also jede Minute aus, meldet aber Runtime error.

BG
Frank

wenn ich den "/" anklicke, wo muss der einzufügende Inhalt hin ?

FrankJacobs
Beiträge: 29
Registriert: 11.04.2022, 12:40
System: CCU

Re: Zählersensor Powerfox Poweropti Leistung auslesen und in Variable schreiben

Beitrag von FrankJacobs » 13.04.2022, 19:24

und hier noch die letzten infos:

die SV steht auf Protokollieren. Im Systemprotokoll ist kein Eintrag zu finden. Das Script schreibt also nichts in die SV.

Unter Status/Bedienung/Programme ist das Programm "Ergebnis Powerfox" gelistet und aktiv.

BG
Frank

MichaelN
Beiträge: 9562
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 696 Mal
Danksagung erhalten: 1608 Mal

Re: Zählersensor Powerfox Poweropti Leistung auslesen und in Variable schreiben

Beitrag von MichaelN » 13.04.2022, 19:33

Hast Du noch nie mit Word oder anderen Editoren gearbeitet? Bitte einmal drauf achten, was da passiert. Wenn Du auf </> klickst,
dann erscheint
[ code ][ /code ]
im Editor. Und was zwischen [ code ] und [ /code ] steht wird als Code formatiert. Und das soll nur Code, Logfiles, etc sein. Aber nicht dein normaler Text. Und noch ein Tip: Es gibt einen Vorschau Button. Dann kannst Du deinen Beitrag so lange formatieren, bis es lesbar ist.
Wenn Du schon damit Streß hast - dann mein gut gemeinter Rat: üb erstmal noch ein bisschen mit der EDV, bevor Du versuchst solche rudimentär dokumentierten Skripte anzuwenden. Das streßt doch nur.

Sorry, das das so harsch rüber kommt, aber wenn ich mir aus diesen Versatzstücken die Infos zusammen suchen muß, dann macht mir das keine Spaß.

Siehe auch hier: viewtopic.php?f=1&t=22801 Abschnitt "Fragen im Forum stellen"
Zuletzt geändert von MichaelN am 13.04.2022, 19:42, insgesamt 2-mal geändert.
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

Benutzeravatar
Baxxy
Beiträge: 10648
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 597 Mal
Danksagung erhalten: 2180 Mal

Re: Zählersensor Powerfox Poweropti Leistung auslesen und in Variable schreiben

Beitrag von Baxxy » 13.04.2022, 19:41

Die Information, ob das nötige CUxD-Gerät vorhanden ist, fehlt auch noch :!:
Als Hilfe:
CUxD_Geraete_Übersicht.JPG

FrankJacobs
Beiträge: 29
Registriert: 11.04.2022, 12:40
System: CCU

Re: Zählersensor Powerfox Poweropti Leistung auslesen und in Variable schreiben

Beitrag von FrankJacobs » 14.04.2022, 19:12

Hallo Baxxy,
Danke fürs Nachhaken. Hab das eben installiert. Wusste echt nicht das ich das muss. Wieder schlauer.
Das Gerät ist jetzt auf der CCU2 und im CuxD zu sehen.

FrankJacobs
Beiträge: 29
Registriert: 11.04.2022, 12:40
System: CCU

Re: Zählersensor Powerfox Poweropti Leistung auslesen und in Variable schreiben

Beitrag von FrankJacobs » 14.04.2022, 19:12

Code: Alles auswählen

[img][/img]

Antworten

Zurück zu „HomeMatic allgemein“