Hilfe zu Script für API Sonnen-Batterie

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

Muasmolle
Beiträge: 68
Registriert: 30.03.2017, 21:34
Wohnort: Laupheim
Hat sich bedankt: 11 Mal

Re: Hilfe zu Script für API Sonnen-Batterie

Beitrag von Muasmolle » 08.06.2018, 22:02

Ich nehme alles zurück! Hab den Fehler gefunden: Einen kleinen Tippfehler in einer SV :-/
Das bricht wohl gleich das komplette Script ab !?

Vielen Dank an Alchy und Tob(i) für eure Unterstützung! Und auch alle anderen. Tolles Forum.
Dann mach ich mich mal an die Visualisierung und Programmierung :-)

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

Re: Hilfe zu Script für API Sonnen-Batterie

Beitrag von alchy » 08.06.2018, 22:06

Muasmolle hat geschrieben: das von der Zeitsteuerung alle 5 Sek. gestartet wird.
:shock: völlig irre. :!: Deaktiviere den Mist !
zeitmodul_frequenz.jpg
Du nimmst mal ein nicht funktionierendes Script und führst es alle 5 Sekunden aus. Ich gratuliere. Hast für mich einen Rekord aufgestellt in " wie mache ich es bestimmt nicht richtig"
Das ist noch nicht mal mit einem funktionierenden Script zu empfehlen, schon gar nicht mit einem, welches Daten per wget versucht zu verarbeiten.
Das Script wird probiert und dann alle paar Minuten, wenn möglich überhaupt nicht per Zeitmodul, sondern per Hardwaretrigger angeschoben.
Aber NIEMALS startet man so etwas im Sekundentakt!


Das Script ist nicht von mir und ich habe auch kein solches Teil.
Das Script setzt voraus, das du verschiedene Systemvariablen anlegst, Die hast du angelegt und zwar genau so wie im Script benannt??
Consumption_W & Sonnen_Consumption_W usw.

Poste mal die Ausgabe des Scriptes, aber nicht als Bild sondern per Copy und Paste in Codetags sowei das >> Fehlerprotokoll <<
bei nur Fehler loggen mit Angabe der manuellen Ausführung des Scriptes.


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.

Muasmolle
Beiträge: 68
Registriert: 30.03.2017, 21:34
Wohnort: Laupheim
Hat sich bedankt: 11 Mal

Re: Hilfe zu Script für API Sonnen-Batterie

Beitrag von Muasmolle » 08.06.2018, 23:12

Hallo Alchy, nachdem ich es nun ausgiebiger getestet hab, hab ich dies auch festgestellt :-/
Ich starte das Programm nur noch alle 15 min oder manuell. So funktioniert es zwar gut, alle Werte werden abgefragt und geschrieben allerdings sind mir ein intervall von 15 min zu lang. Damit kann ich nicht sinnvoll reagieren.
Wie kann ich die Daten alle paar Sekungen bekommen? Also doch ein tcl-Script mit einem CuxD timer wie beim Netatmo-Script?

tob
Beiträge: 15
Registriert: 02.11.2016, 14:31

Re: Hilfe zu Script für API Sonnen-Batterie

Beitrag von tob » 07.08.2018, 22:26

Hallo,

da meine Automation fast komplett über home assistant läuft und bei mir nur ca. 20 Programme auf einem raspberrymatic aktiv sind, scheine ich keine Probleme auch mit der unvorsichtigerweise eingestellte Abfrage von 5 s zu haben.

Da meine Script sowieso cuxd verwendet wäre der cuxd Timer eine bessere Alternative? Habe jetzt testweise den cuxd timer auf 10s gestellt.

VG
Oliver

dornies
Beiträge: 1
Registriert: 06.06.2019, 10:14

Re: Hilfe zu Script für API Sonnen-Batterie

Beitrag von dornies » 06.06.2019, 16:12

Hallo, ich verwende dieses TCL script seit ca. 1 Jahr und rufe dieses per Cron alle 2 min auf. Funktioniert perfekt und stabil.

Freundliche Grüsse

Code: Alles auswählen

#!/bin/tclsh


load tclrega.so

set logtag "sonnenbatterie.tcl"
set loglevel 6
set loglevels {panic alert crit err warn notice info debug}


#puts "polling sonnenbatterie..."
set url "http://192.168.0.115:8080/api/v1/status"
#puts "querying $url"
catch {exec /usr/bin/wget -q -O- # $url} response
#puts "response is: $response"

regexp {\{.*\"BatteryCharging\"\:([a-z]*),.*\"Consumption_W\"\:(\d*),.*\"GridFeedIn_W\"\:(-?\d*),.*\"Pac_total_W\"\:(-?\d*),.*\"Production_W\"\:(\d*),.*\"USOC\"\:(\d*),.*\}} $response dummy charging consumption gridfeed chargingW production battery

puts "Battery Charging: $charging"
puts "Consumption: $consumption W"
puts "Grid Feed: $gridfeed W"
puts "Charging: $chargingW W"
puts "Production: $production W"
puts "Battery percentage: $battery"

#
# set ReGaHss variables
#
set rega_cmd ""
append rega_cmd "var ladezustand = dom.GetObject('SB_Ladezustand');"
append rega_cmd "var laedtAuf = dom.GetObject('SB_LaedtAuf');"
append rega_cmd "var erzeugung = dom.GetObject('SB_Produktion');"
append rega_cmd "var einspeisung = dom.GetObject('SB_Einspeisung');"
append rega_cmd "var ladeleistung = dom.GetObject('SB_Ladeleistung');"
append rega_cmd "var verbrauch = dom.GetObject('SB_Verbrauch');"
append rega_cmd "ladezustand.State('$battery');"
append rega_cmd "laedtAuf.State('$charging');"
append rega_cmd "erzeugung.State('$production');"
append rega_cmd "einspeisung.State('$gridfeed');"
append rega_cmd "ladeleistung.State('$chargingW');"
append rega_cmd "verbrauch.State('$consumption');"

rega_script $rega_cmd

chrislow
Beiträge: 1
Registriert: 17.06.2019, 20:40

Re: Hilfe zu Script für API Sonnen-Batterie

Beitrag von chrislow » 17.06.2019, 20:45

hallo dornies,
kannst du mir das bitte genauer erklären wie ich als laie dein script zum laufen bekomme?
welche varaiblen müssen angelegt werden, wo muss das script abgespeichert werden, wie wird das aufgerufen usw.
sorry aber hab keinen plan.

Danke
LG Chris

Benutzeravatar
fighterzg6
Beiträge: 101
Registriert: 21.10.2009, 07:30
Kontaktdaten:

Re: Hilfe zu Script für API Sonnen-Batterie

Beitrag von fighterzg6 » 05.11.2019, 09:26

Könnte man auch so ein script für eine Tesla Powerwall2 Schreiben?
API Gibt mir folgendes aus

https://192.168.0.112/api/meters/aggregates

Code: Alles auswählen

{"site":{"last_communication_time":"2019-11-05T00:19:42.700774074-08:00","instant_power":138.32670402526855,"instant_reactive_power":-369.16788482666016,"instant_apparent_power":394.2324241280573,"frequency":50.049781799316406,"energy_exported":1091334.6224043332,"energy_imported":2146874.991571,"instant_average_voltage":230.21954345703125,"instant_total_current":0,"i_a_current":0,"i_b_current":0,"i_c_current":0,"timeout":1500000000},"battery":{"last_communication_time":"2019-11-05T00:19:42.690069267-08:00","instant_power":-110,"instant_reactive_power":20,"instant_apparent_power":111.80339887498948,"frequency":50.013,"energy_exported":917380,"energy_imported":1068000,"instant_average_voltage":229.70000000000002,"instant_total_current":1.9000000000000001,"i_a_current":0,"i_b_current":0,"i_c_current":0,"timeout":1500000000},"load":{"last_communication_time":"2019-11-05T00:19:42.690069267-08:00","instant_power":145.02817790866666,"instant_reactive_power":-259.22085276241313,"instant_apparent_power":297.0330333386853,"frequency":50.049781799316406,"energy_exported":0,"energy_imported":3400952.3133333335,"instant_average_voltage":230.21954345703125,"instant_total_current":0.6299559791097191,"i_a_current":0,"i_b_current":0,"i_c_current":0,"timeout":1500000000},"solar":{"last_communication_time":"2019-11-05T00:19:42.69056394-08:00","instant_power":111.03410339355469,"instant_reactive_power":84.13553619384766,"instant_apparent_power":139.31030316181514,"frequency":50.049781799316406,"energy_exported":2498025.046111443,"energy_imported":1993.1019447764943,"instant_average_voltage":229.69287109375,"instant_total_current":0,"i_a_current":0,"i_b_current":0,"i_c_current":0,"timeout":1500000000}}
Zuletzt geändert von alchy am 05.11.2019, 11:37, insgesamt 1-mal geändert.
Grund: Code in Codetags posten

Benutzeravatar
Black
Beiträge: 5469
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 419 Mal
Danksagung erhalten: 1070 Mal
Kontaktdaten:

Re: Hilfe zu Script für API Sonnen-Batterie

Beitrag von Black » 05.11.2019, 09:35

natürlich kann man das, das schaut eigentlich aus wie ein hübsches JSON.

zumindest auf einer RMatik sollte JQ installiert sein.
https://stedolan.github.io/jq/manual/
damit sollte es machbar sein

ansonsten ist string zerlegen angesagt.

So du eine übergeordnete Steuerung wie IOBroker benutzen solltest, ist dieses in paar Zeilen im javascript adapter erledigt:

Code: Alles auswählen

var Jobj= JSON.parse (DeinAntwortString); 
Black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

Wutz
Beiträge: 30
Registriert: 02.05.2018, 13:46
Hat sich bedankt: 6 Mal

Re: Hilfe zu Script für API Sonnen-Batterie

Beitrag von Wutz » 26.11.2020, 19:14

Hat sich schon mal jemand weiter mit der Powerwall beschäftigt? Habe auch gerade eine eingerüstet :idea:

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“