NEWS
Adapter: energymanager (EON Aura bzw. Solarwatt)
-
@Lemmi
Hallo Sven,
da du jetzt vier Threads zum gleichen Thema offen hast, antworte ich dir im vielversprechendsten. -
Hallo Michael,
die Wallbox ruft die Werte per HTTP aufruf ab. IoBroker stellt sie per simple Api zur Verfügung. Abruf PV Erzeugung gesamt zum Beispiel: http://192.168.xxx.xx:8087/getPlainValue/energymanager.0.Standort_(Wohnhaus_Lemke).PowerOutFromProducers -
@Lemmi
Danke. Das habe ich im oben verlinkten Thread gelesen. Hab dir mal dort geantwortet. Passt dort besser. -
bezüglich dieses Solarwatt-Gateways:
unter Port 8080 sollte es einen JSON String schicken mit aktuellen Werten,
siehe hier: https://www.photovoltaikforum.com/thread/123820-werte-des-solarwatt-myreserve-auslesen/?pageNo=1Ich bin gerade an der Einarbeitung in dieses Thema, ich habe folgende Konstellation:
- Fronius Wechselrichter (kann ich über Fronius adapter anbinden)
- Speicher MyReserver von Solarwatt
- Wärmepumpe Stiebel Eltron mit ISG-Web (kann ich über Stiebel adapter anbinden)
Was genau brauche ich, um den MyReserve Speicher einzuginden,
reicht dieses Power Data Gateway, oder benötige ich einen EnergyManagerWo gibt's diese Devices zu kaufen und was kosten die? Gibt's die nur direkt bei Solarwatt?
-
@tschombe
Stimmt, der Link liefert aber nur rudimentäre Werte. Den hatte ich mal zufällig entdeckt und vor dem jetzt im Adapter verwendeten benutzt. Siehe Blog-Anleitung.Bei mir wurde der Energymanager gleich mit der Anlage verbaut. Dachte der wäre nötig für die Steuerung. Geht aber wohl ohne.
Frag einfach mal deinen Installateur oder teste den Adapter mit der IP-Adresse die du jetzt verwendest. Ohne Port natürlich. Vllt. klappt es ja schon.
-
@tschombe ich habe fast genau deine aufgelisteten Geräte.
ISG plus braucht man wenn man von solarwatt über "smartgrid" zur Wärmepumpe möchte. Dafür braucht man aber noch von SolarW eine Digital Extension und ein Relais.
Mit dem Web was etas günstiger ist kannst du aber schon mal alles über iobroker darstellen.Fronius ist klar, brauchst du eigentlich nicht einbinden wenn du einen Energiemanager verbaust.
Von SolarW braucht man dann noch den AC-Sensor, dieser misst den Verbrauch im Haus.
Speicher ist klar, dort wird noch ein kleiner Raspi mitgeliefert der die Daten in die Cloud sendet. Im Prinzip sind AC Sensor und Energie Manager nur für ganz viele extra Daten und den Verbrauch im Haus.
Der AC-Sensor ist sehr ungenau, wurde bei einigen Kunden mehrfach getauscht...
Mein Energie Manager wurde schon zwei mal getauscht, weil ich immer wieder nicht drauf zugreifen kann.Als alles lief war das System super, jetzt würde ich mir etwas anderes kaufen. Zumal man nie jemanden direkt von Solarwatt im Support erreicht.
-
Ich habe Probleme mit dem Adapter.
Sobald der aktiviert ist, ist der energymanager nicht mehr erreichbar.
Kann es sein das der Adapter zu aggressiv zugreift?
Ich lasse nur alle 60 Sekunden Daten abfragen.Was macht der Adapter eigentlich um die Daten zu bekommen?
-
@lutzer
Der Adapter ruft die REST API auf und wertet die Daten aus.60 Sekunden sollte eigentlich keine Überlastung des Energymanagers bewirken. Bei stehen hier 15 Sekunden.
Ein Reboot des Managers bringt vermutlich keine Besserung?
-
Nein ein neu Start bringt nichts. Ich hatte sogar ein Austausch Gerät da. Das lief zwei Tage...
Sobald der Adapter läuft ist der EM nicht mehr erreichbar. Oder halt alle paar Minuten.
Ping geht aber Port 80 und 443 gibt es nicht mehr.
Daher meine Vermutung das der Adapter das Gerät abschmieren lässt.
Ich habe auch alles mögliche im Netzwerk ausprobiert...
Ist übrigens schon seit Dezember 2018 mein Problem.
Hatte auch hier schon dazu geschrieben. Vielleicht hast du irgend etwas anders gemacht seit dem?Bei solarwatt sagt man natürlich das die Geräte nicht dafür gemacht sind.
Echt schade weil ich die Daten schon gerne im iobroker hätte... -
@lutzer
Dass du geschrieben hattest weiß ich noch. Aber es kam dann keine Antwort mehr auf die Rückfragen.Welche Version des Adapters hast du installiert? Vermutlich die neueste. Wie schnell reagiert denn ein regulärer Aufruf des Energymanagers über die Weboberfläche?
Bei mir ist der Manager sogar erreichbar, wenn ich auf einem zweiten Testsystem parallel einen weiteren Adapter startet. Sehr mysteriös.
-
Ich habe den Adapter immer prav aktualisiert. Also jetzt der neueste.
Im Moment komme ich ohne Probleme auf den Manager. So richtig rund scheint die Software auf den Dingern auch nicht zu laufen. Einmal einrichten und gut, dass ist sicher die Vorstellung des Herstellers.Den Adapter lasse ich jetzt erst mal aus und beobachte den Manager.
Könnte man nicht einfach die 10 Werte mit JavaScript abholen? Es liegt ja alles im json Format vor.
Hast du da vielleicht mal ein Beispiel?
JavaScript ist bei mir noch sehr in den Anfängen.
So könnte ich erst mal die wichtigsten Daten bekommen, bis ich eine Lösung habe.Der EM wird auch gerade regelmäßig geupdatet. Die müssen ja auch was tun weil die bald Verbraucher direkt schalten können wollen und wer eine Wallbox hat braucht ja auch Daten.
https://www.solarwatt.de/schalten-neu
Die Logik würde ich dann lieber dem iobroker überlassen. Da habe ich wenigstens alle Geräte drin.
Der Adapter für das isg läuft übrigens sehr gut.
-
@lutzer sagte in Adapter: energymanager (EON Aura bzw. Solarwatt):
Könnte man nicht einfach die 10 Werte mit JavaScript abholen?
Das geht natürlich. Lies dir dazu mal den folgenden Eintrag durch. Ist zwar für openhab2, aber dafür hatte ich keinen Adapter entwickelt.
Das Problem ist dabei nur, dass dir das vermutlich nicht helfen wird. Die Werte werden vom Adapter nur einmal abgeholt und dann von ioBroker aufgesplittet. Also nicht für jeden Wert einmal.
Den Adapter hast du vermutlich auch schon mal komplett gelöscht?
-
Das sieht doch schon mal gut aus. Könntest du mir da bei der Umsetzung in JavaScript noch helfen? Für ein Beispiel...
Man könnte doch im JS die Werte der json abholen und in eine eigene Variable schreiben.
Ich möchte das ganze nur für die Live Ansicht nutzen. Die "alten" Werte hole ich mir dann am Ende des Monats immer aus der Cloud.//Rules-Datei für Energie rule "Get Power Usage" when Time cron "0/15 * * * * ?" then var String json = sendHttpGetRequest("http://192.XXX.XXX.XXX/rest/kiwigrid/wizard/devices") //Batteriestand var String value = transform("JSONPATH", "$.result.items[?(@.guid == 'urn:solarwatt:myreserve:bc:xxxxxxxxxxx')].tagValues.StateOfCharge.value", json) value = value.stripStart("[") value = value.stripEnd("]") var Number value2 = DecimalType.valueOf(value) postUpdate(energieLadestand, value2) //Einspeisung value = transform("JSONPATH", "$.result.items[?(@.guid == 'urn:kiwigrid:location:XXXXX-XXXXXXXX:0')].tagValues.PowerOut.value", json) value = value.stripStart("[") value = value.stripEnd("]") value2 = DecimalType.valueOf(value) postUpdate(energieEinspeisung, value2) //Batterieladung value = transform("JSONPATH", "$.result.items[?(@.guid == 'urn:kiwigrid:location:XXXXX-XXXXXXXX:0')].tagValues.PowerBufferedFromProducers.value", json) value = value.stripStart("[") value = value.stripEnd("]") value2 = DecimalType.valueOf(value) postUpdate(energieBatterieladung, value2) //Gesamterzeugung value = transform("JSONPATH", "$.result.items[?(@.guid == 'urn:kiwigrid:location:XXXXX-XXXXXXXX:0')].tagValues.PowerProduced.value", json) value = value.stripStart("[") value = value.stripEnd("]") value2 = DecimalType.valueOf(value) postUpdate(energieGesamterzeugung, value2) //Bezug value = transform("JSONPATH", "$.result.items[?(@.guid == 'urn:kiwigrid:location:XXXXX-XXXXXXXX:0')].tagValues.PowerConsumedFromGrid.value", json) value = value.stripStart("[") value = value.stripEnd("]") value2 = DecimalType.valueOf(value) postUpdate(energieBezug, value2) //Batterieentladung value = transform("JSONPATH", "$.result.items[?(@.guid == 'urn:kiwigrid:location:XXXXX-XXXXXXXX:0')].tagValues.PowerConsumedFromStorage.value", json) value = value.stripStart("[") value = value.stripEnd("]") value2 = DecimalType.valueOf(value) postUpdate(energieBatterieentladung, value2) //Gesamtverbrauch value = transform("JSONPATH", "$.result.items[?(@.guid == 'urn:kiwigrid:location:XXXXX-XXXXXXXX:0')].tagValues.PowerConsumed.value", json) value = value.stripStart("[") value = value.stripEnd("]") value2 = DecimalType.valueOf(value) postUpdate(energieGesamtverbrauch, value2) end
-
@lutzer
Hab diese Woche recht wenig Zeit,sry.Aber versuch es doch mal in Blockly. "Blockly JSON" ergibt bei Google und auch hier im Forum gute Ergebnisse.
Läuft eigentlich der Adapter, wenn die Verbindung zur Cloud gekappt wird? Vllt. braucht diese Verbindung auch recht viele Ressourcen?
-
Ok danke, ich bin schon dabei mich mit json usw. Zu beschäftigen.
Ist halt wie mit allem, wenn man anfängt und erst mal nichts funktioniert und man nicht weiß warum ist das sehr mühselig.Ich habe noch keinen Test ohne Internet und nur Adapter gemacht. Der EM wartet auch und sendet später wenn es gerade nicht geht.
Eigentlich ist es ja gar nicht so viel was der Adapter will.Deswegen möchte ich jetzt erst mal diese Werte die ich brauche nur bei Bedarf abrufen.
Eigentlich könnte ich ja auch mit einem blockly den Adapter starten und wieder stoppen.Den request steht ja in deinem file.
Was bei mir nicht klappt ist das parsen.
Im externen JavaScript Editor klappt das, aber iobroker ist da etwas anders irgendwie. -
@unltdnetworx ich hätte da mal einen Fehler ... kommt ab und an mal..
ist mir heute zuerst aufgefallen.. da ich mir die logs nach langer zeit mal wieder angeschaut habeda müsste noch eine Abfrage .. ob das gelieferte object da ist..
https://github.com/unltdnetworx/ioBroker.energymanager/issues/13
-
@arteck
Jetzt sollte der Fehler hoffentlich nicht mehr auftreten (Update über Github). Schaus dir bitte mal an und gib mir kurz Bescheid. Danke -
@unltdnetworx immer noch
2019-10-16 02:48:08.452 - [31merror[39m: host.iobroker Caught by controller[0]: TypeError: Cannot read property 'deviceClass' of undefined 2019-10-16 02:48:08.453 - [31merror[39m: host.iobroker Caught by controller[0]: at Request._callback (/opt/iobroker/node_modules/iobroker.energymanager/main.js:216:71) 2019-10-16 02:48:08.453 - [31merror[39m: host.iobroker Caught by controller[0]: at Request.self.callback (/opt/iobroker/node_modules/request/request.js:185:22) 2019-10-16 02:48:08.453 - [31merror[39m: host.iobroker Caught by controller[0]: at Request.emit (events.js:198:13) 2019-10-16 02:48:08.453 - [31merror[39m: host.iobroker Caught by controller[0]: at Request.<anonymous> (/opt/iobroker/node_modules/request/request.js:1161:10) 2019-10-16 02:48:08.453 - [31merror[39m: host.iobroker Caught by controller[0]: at Request.emit (events.js:198:13) 2019-10-16 02:48:08.453 - [31merror[39m: host.iobroker Caught by controller[0]: at IncomingMessage.<anonymous> (/opt/iobroker/node_modules/request/request.js:1083:12) 2019-10-16 02:48:08.454 - [31merror[39m: host.iobroker Caught by controller[0]: at Object.onceWrapper (events.js:286:20) 2019-10-16 02:48:08.454 - [31merror[39m: host.iobroker Caught by controller[0]: at IncomingMessage.emit (events.js:203:15) 2019-10-16 02:48:08.454 - [31merror[39m: host.iobroker Caught by controller[0]: at endReadableNT (_stream_readable.js:1145:12) 2019-10-16 02:48:08.454 - [31merror[39m: host.iobroker Caught by controller[0]: at process._tickCallback (internal/process/next_tick.js:63:19) 2019-10-16 02:48:39.432 - [32minfo[39m: energymanager.0 (21025) starting. Version 1.2.2 in /opt/iobroker/node_modules/iobroker.energymanager, node: v10.16.3 2019-10-16 02:48:46.212 - [31merror[39m: energymanager.0 (21025) uncaught exception: Cannot read property 'deviceClass' of undefined 2019-10-16 02:48:46.213 - [31merror[39m: energymanager.0 (21025) TypeError: Cannot read property 'deviceClass' of undefined at Request._callback (/opt/iobroker/node_modules/iobroker.energymanager/main.js:216:71) at Request.self.callback (/opt/iobroker/node_modules/request/request.js:185:22) at Request.emit (events.js:198:13) at Request.<anonymous> (/opt/iobroker/node_modules/request/request.js:1161:10) at Request.emit (events.js:198:13) at IncomingMessage.<anonymous> (/opt/iobroker/node_modules/request/request.js:1083:12) at Object.onceWrapper (events.js:286:20) at IncomingMessage.emit (events.js:203:15) at endReadableNT (_stream_readable.js:1145:12) at process._tickCallback (internal/process/next_tick.js:63:19)
bist du sicher das der knotenpunkt da ist ??
ach ich seh gerade der energymanager ist nicht da
2019-10-16 02:47:14.841 - [31merror[39m: energymanager.0 (7511) Error: connect ECONNREFUSED 192.168.xxx.xxx:80 2019-10-16 02:48:08.207 - [31merror[39m: energymanager.0 (7511) uncaught exception: Cannot read property 'deviceClass' of undefined
-
@arteck
Okay. Immerhin liegt es dann nicht am Adapter.Ist die Weboberfläche erreichbar?
-
@unltdnetworx um 2 uhr 48 kein plan.. aber.. ic bin die LOGs zurückgegnagen es scheont als ob dieser um die uhrzeit neu starten würde.. ist immer um 2:49.. ist mir nie aufgefallen
mach mal bitte ein try catch block um das ganze... mit einer kontrollierten error ausgabe