NEWS
Wallbox, PV mit openWB in iobroker einbinden
-
die neue instanz läft jetzt normal. Es scheint so, als ob ich bei meiner Fehleranalyse die Sache wohl selbst verbastelt habe. Fakt ist so einen Kampf hatte ich bisher noch nie erlebt bei MQTT.
@Marc-Berg Vielen Dank für deine Unterstützung -
@frank70 sagte in Wallbox, PV mit openWB in iobroker einbinden:
Ich erstelle die Instanz nochmal neu
Ja, die Standardeinstellungen passen fast immer. Und wenn ich sehe, wie wenig Topics da publiziert werden: Daran liegt die Last auf keinen Fall, es sei denn, die Topics werden vom Gerät im Millisekundentakt neu publiziert.
EDIT: Oh, läuft schon, freut mich.
-
@lesiflo Mein MQTT Client läuft jetzt. Ich verstehe dennoch das Konzept der OpenWB nicht. Der Screenshot zeigt meinen MQTT Load Meter, den ich mit Daten per MQTT befüllen will:
Wenn ich den Datenpunkt in mein Blockly einbauen will wird er mir nicht angezeigt. Sind das read only Datenpunkte? Unter Objects sind alle Datenpunkte vorhanden. Kenne das Verhalten bei Auswahl so nicht. Refresh bringt auch keine neuen Datenpunkte
-
@frank70 Alle Objekte unterhalb von "set" sind zum setzen von Werten. Die werden über mqtt an openWB weitergegeben und danach wieder gelöscht. Die eingestellten Werte bzw. der Status steht direkt in den Ordnern unter dem Hauptordner "openWB" oder unter "get".
'
'Hier mal ein Link ins openWB Forum wo alle mqtt Werte beschrieben sind. -> mqtt-Werte
-
@lesiflo Vielen Dank. Der Link ist super. Wieso ist der mir bei all meinen Suchen nicht untergekommen.
-
Bei mir sind die Topics, die im Bild rechts im MQTT Explorer mit Werten zu sehen sind im IOBroker mit "null" gelistet. Hat jemand eine Idee was hier die Ursache sein kann? -
@frank70
Hallo an Alle.
Ich habe seit 2020 ebenfalls eine OpenWB.
Ich steuere die Box über MQTT.
Nach anfänglichen Problemen mit dem MQTT-Broker Adapter habe ich nur für die Wallbox einen MQTT-Client Adapter installiert. Seitdem kommen alle Werte von der WB problemlos an. Bei der Konfiguration ist zu beachten:
freien Port, der nicht schon von anderen Apatern genutzt wird verwenden.
TLS Einstellungen in der WB und im Adapter müssen gleich sein.Senden von Werten an die WB mache ich folgendermaßen.
Datenpunkt mit sinnigen Namen anlegen, dann auf Zahnrad hinter dem Datenpunkt klicken und im sich öffnenden Fenster unter MQTT das Topic wie aus der Liste welche die WB vorgibt eintragen. -
@ag sagte in Wallbox, PV mit openWB in iobroker einbinden:
@frank70
Senden von Werten an die WB mache ich folgendermaßen.
Datenpunkt mit sinnigen Namen anlegen, dann auf Zahnrad hinter dem Datenpunkt klicken und im sich öffnenden Fenster unter MQTT das Topic wie aus der Liste welche die WB vorgibt eintragen.Könntest du ein paar Screenshots zeigen?
S -
Einstellungen des MQTT-Client
Beispiel Objekte zum steuern der WallBox
Einstellungen für Lademodus/ChargeMode
-
Hier noch die Einstellugen in der Wallbox
ein frohes Fest euch Allen
-
Hallo Forum,
ich versuche gerade meine recht komplexe Energielandschaft über ioBroker und die openWB zu konsolidieren. Da ich die Datenpunkte meiner Hausenergiespeicher nur über Telnet bekomme, was ja in der openWB nicht geht, wollte ich dies über den ioBroker machen. Da muss ich aber die getrennten Datenpunkte 'Einspeiseleistung' und 'Ausspeiseleistung' zusammenfassen und mit Vorzeichen versehen, damit sie als 'Speicherleistung' in die openWB per MQTT geschickt werden können.
Deshalb die Frage, hat schon jemand so ein Blockly erstellt, das dies vornimmt?
Danke
WolfiRR -
@wolfirr ich habe für meinen fronius Wechselrichter Blockly geschreiben, die den Hausverbrauch, Netzbezug, Autarkie und Eigenverbrauch in eigene Datenpunkte raus schreiben.
Woran scheitert es? Du musst die entsprechenden Datenpunkte in 0.Userdata anlegen (am Besten mit Einheit). Dann erstellst du ein Blockly mit Trigger Wertänderung oder einem Cron (zb alle 3s) auf den Entsprechenden Wert den du zur Weiterberechnung benötigst. Der Rest ist simple Mathematik.
Meinst du sowas?
<block xmlns="https://developers.google.com/blockly/xml" type="on" id="0Cp6~c)1g?,Ve]1GwJUO" x="263" y="-187"> <field name="OID">Object ID</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="variables_set" id="r(mDZAgW6Bl,wmg2![{W"> <field name="VAR" id="vN$csYNld]Pb3aq2^Q;r">Ausgangsleistung</field> <value name="VALUE"> <block type="get_value" id="6njxLNiqNt~PIE[iR2:O"> <field name="ATTR">val</field> <field name="OID">ID auswählen</field> </block> </value> <next> <block type="variables_set" id="QY719@jweoZDuLdj5xr="> <field name="VAR" id=":Wc/S!2[*TD%:`^}B-FC">Addiert</field> <value name="VALUE"> <block type="math_arithmetic" id="_/Ef#s)pJ(-l)Yguv?Lz"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="ZetU#(;4?S@5/N+5g3Hv"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="YMZAAjH,H*UqB[-_XeC2"> <field name="VAR" id="vN$csYNld]Pb3aq2^Q;r">Ausgangsleistung</field> </block> </value> <value name="B"> <shadow type="math_number" id="2ORcyiH3}C1N^Tl4IYCb"> <field name="NUM">1</field> </shadow> <block type="on_source" id="1OiK{r`_Mhd[%h@ar@74"> <field name="ATTR">state.val</field> </block> </value> </block> </value> <next> <block type="variables_set" id="[V0kRKflo2cUU,r/JvXp"> <field name="VAR" id=":Wc/S!2[*TD%:`^}B-FC">Addiert</field> <value name="VALUE"> <block type="math_arithmetic" id="0=u/]0vpk[C[uF$B34Sp"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="B-o,=GhlSy(`Gi3#}}-]"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="}V]+[7QF-p#S@;hzCz=}"> <field name="VAR" id=":Wc/S!2[*TD%:`^}B-FC">Addiert</field> </block> </value> <value name="B"> <shadow type="math_number" id="t9a}qdePM9S%V_m1+qTG"> <field name="NUM">-1</field> </shadow> </value> </block> </value> <next> <block type="update" id="LsqyqLF-+[k(_SM+sS5?"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">Object ID</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="O]q|iWc662}`n(xF2Dl0"> <field name="VAR" id=":Wc/S!2[*TD%:`^}B-FC">Addiert</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> </block>
-
Danke @mading!
Das mit dem Anlegen des lokalen Datenpunkts ist wohl der wichtige Punkt für mich. Da muss ich mich noch einmal etwas einlesen, hat aber geholfen.
Grüße
Wolfirr -
@wolfirr du kannst auch Blockly dafür verwenden. Einmalig ausführen reicht. Am Besten legst du unter 0_userdata.0 einen Ordner je Bereich an, da noch einiges dazu kommen kann.
Bei mir sieht es als Beispiel so aus:
<block xmlns="https://developers.google.com/blockly/xml" type="create" id="@*7aXYReA;^u7ccg^?fc" x="-687" y="-135"> <field name="NAME">0_userdata.0.EigeneDatenpunkte.MinimaleRaumtemperatur</field> <value name="VALUE"> <block type="text" id="D)q9N%ag2=-L1Cn2RJ|p"> <field name="TEXT">0</field> </block> </value> <value name="COMMON"> <block type="text" id="B,LYkW^q0HfMDRk.L/eb"> <field name="TEXT">{ "type": "number", "min": 0, "max": 100, "unit": "°C" }</field> </block> </value> </block>
-
@mading Danke!
Nur noch die Frage, wenn ich den Ordner manuell anlege, ist es besser diese Userdatenordner und -punkte im Expertenmodus oder Usermodus anzulegen?
Und wenn schon Datenpunkte ganz unten am Ende der Objekt ID Liste angelegt wurden, weil ich empfangene Daten in einer FHEM Telnet Integration für die InfluxDB aktiviert hatte, wie bekomme ich die dann in die angelegte Userdata Ordnerstruktur?
Ich seh schon, da fehlt mir noch sehr viel Verständnis für die iobroker Tiefen. Nur wo fange ich an diese zu lernen? -
@wolfirr du musst die Datenpunkte, die keine Ordner sind, im Expertenmodus anlegen. Alle Ordner , die du in meinem Screenshot siehst, habe ich mir angelegt. Es steht dir frei, das so zu strukturieren, wie du es brauchst
@wolfirr sagte in Wallbox, PV mit openWB in iobroker einbinden:
Und wenn schon Datenpunkte ganz unten am Ende der Objekt ID Liste angelegt wurden, weil ich empfangene Daten in einer FHEM Telnet Integration für die InfluxDB aktiviert hatte, wie bekomme ich die dann in die angelegte Userdata Ordnerstruktur?
Ich verstehe nicht, was du damit meinst.
-
@mading Danke sehr, das hilft schon mal. Denn den Unterschied ob im Expertenmodus oder nicht, habe ich in der Docu noch nicht gefunden oder bin noch nicht so weit vorgedrungen.
In dem angehängten Bild sieht man und die Datenpunkte am Ende der Objektordner und ich weiß nicht, wie die entstanden sind und wie ich rausfinde, wo die erzeugt wurden? Ich finde nur eine 'Löschen' Funktion, wenn drauf gehe?![0_1704197272127_Bildschirmfoto von 2024-01-02 13-05-41.png](Uploading 100%) -
@wolfirr das Bild fehlt
-
@mading bin ich noch zu kurz dabei, dass ich keins hochladen kann?
-
@wolfirr klapp' mal 0_Userdata auf. Das ist der Bereich, der für deine eigenen Datenpunkte gedacht ist. Alle anderen Ordner beinhalten Datenpunkte der jeweiligen Adapter.
Hast du die SN Datenpunkte angelegt? Vermutlich hast du den Pfad nicht korrekt angegeben bzw. bevor dur auf Hinzufügen (+) Klickst, nicht auf 0_userdata geklickt.
- die 0 Anklicken unter 0_Userdata
- In den Expertenmodus gehen
- Einen Ordner (z.B. EigeneDatenpunkte) anlegen (das oberste Feld beim Anlegen zeigt dir, wo der Ordner/ Datenpunkt in der Hierarchie angelegt wird):
- Danach sollte unter 0_userdata.0 dein neuer Ordner auftauchen
Wenn du darunter Datenpunkte oder Ordner anlegen willst, musst du in den Expertenmodus. Wenn du die "0" unter 0_userdata angeklickt hast, und möchtest unter EigeneDatenpunkte einen Datenpunkt anlegen, musst du im Bereicht Name noch den Ordner (EigeneDatenpunkte) vor dem Namen des Ordners angeben:
Einfach den Ordner im Namen-Feld mit einem Punkt vom Datenpunkte Namen trennen.
Ich hoffe, das war veständlich.