openWB series 2 an HomeAssistant anbinden

a4320909533
Beiträge: 30
Registriert: Do Sep 02, 2021 2:03 pm

Re: openWB series 2 an HomeAssistant anbinden

Beitrag von a4320909533 »

Nein, ich kann das Repo so wie es ist einbinden.
Heavendenied
Beiträge: 696
Registriert: Do Feb 20, 2020 1:16 pm
Has thanked: 2 times
Been thanked: 9 times

Re: openWB series 2 an HomeAssistant anbinden

Beitrag von Heavendenied »

Vielen Dank für die neue Integration.
Da ich aktuell noch nicht vollständig auf die openWB 2.x umstellen kann würde ich die neue Integration gerne schon mal parallel testen.
Leider ist aber per Default das Wurzeltopic identisch (nämlich openWB)
Ich würde davon ausgehen, dass ich irgendwas in der mosquitto.conf irgendwas anpassen muss, damit alles aus openwb im Broker als openWB2 zur Verfügung gestellt wird, oder?
Aber was genau?
Gruß,
Jürgen
evchab
Beiträge: 276
Registriert: Mo Mär 04, 2019 3:04 pm

Re: openWB series 2 an HomeAssistant anbinden

Beitrag von evchab »

bei der Installation kannst du das doch frei einstellen dh. innerhalb von HA hast du dann schon die Unterscheidung
außerdem bin ich der Meinung das es bei den Topics der Beien Versionen kaum Überschneidungen gibt ???
a4320909533
Beiträge: 30
Registriert: Do Sep 02, 2021 2:03 pm

Re: openWB series 2 an HomeAssistant anbinden

Beitrag von a4320909533 »

Ich würde euch nicht empfehlen, die beiden Boxen im gleichen Topic zu verwalten. Einer meiner Tester hat sich die Konfiguration seiner Box zerschossen, da die openwb in Mqtt auch ihre Konfiguration ablegt.

Wenn du mit einer MQTT Bridge arbeitest (wenn du zB von deinem openWB mqtt Server auf einen anderen MQTT Server Topics weiterleitest), könntest du in der Bridgekonfig für die Themen mit einem Prefix arbeiten. Dann bitte in meiner HA Integration das Wurzeltopic anpassen.

Viel Erfolg
Andreas
Heavendenied
Beiträge: 696
Registriert: Do Feb 20, 2020 1:16 pm
Has thanked: 2 times
Been thanked: 9 times

Re: openWB series 2 an HomeAssistant anbinden

Beitrag von Heavendenied »

@evchab:
Das was du meinst ist das Wurzeltopic, welches die Integration nutzt. Aber die Daten werden ja vom Broker geholt und in dessen Config wüsste ich gerne wie es einzustellen ist.

@a4320909533:
Danke für deine Rückmeldung. Ich befürchte halt auch, dass es Probleme geben wird bei den Topics die zwischen openWB 1.9 und 2.x doch identisch sind.
Werde mal versuchen die Brücke von der openWB aus einzurichten.
Gruß,
Jürgen
evchab
Beiträge: 276
Registriert: Mo Mär 04, 2019 3:04 pm

Re: openWB series 2 an HomeAssistant anbinden

Beitrag von evchab »

ja ich hatte das Wurzeltopic gemeint hatte das bei mir auch so laufen bei der Umstellung von 1.9 auf 2.x
Heavendenied
Beiträge: 696
Registriert: Do Feb 20, 2020 1:16 pm
Has thanked: 2 times
Been thanked: 9 times

Re: openWB series 2 an HomeAssistant anbinden

Beitrag von Heavendenied »

Aber was hast du denn dann genau in der Mosquitto.conf eingestellt, damit der Broker die Topics der openWB 2.1 tatsächlich woanders hin schreibt?
Denn wenn man das nur bei der Einrichtung der Integration auf z.B. openWb2 stellt führt das ja nur dazu, dass gar nix angezeigt wird, weil der MQTT Broker auf dem HA in dem Verzeichnis ja keine Daten hat... So ist es zumindest bei mir gewesen, als ich das getestet habe.
Gruß,
Jürgen
BJ Axel
Beiträge: 124
Registriert: Do Mai 04, 2023 7:24 am
Has thanked: 3 times
Been thanked: 1 time

Re: openWB series 2 an HomeAssistant anbinden

Beitrag von BJ Axel »

Ich habe heute nur kurz herumprobiert - bei einer openWB2 *duo* kann ich wohl nur einen Ladepunkt einrichten.
Heavendenied
Beiträge: 696
Registriert: Do Feb 20, 2020 1:16 pm
Has thanked: 2 times
Been thanked: 9 times

Re: openWB series 2 an HomeAssistant anbinden

Beitrag von Heavendenied »

Also zur Info bezüglich anderem Wurzeltopic:
Ich habe es jetzt so gemacht:
topic openWB/chargepoint/8/get/# in "" openWB2/
Damit ist das Wurzeltopic welches ich in der Integration wählen muss dann openWB2/openWB
Nicht schön aber zum testen denke ich OK

Was ich aber nicht weiß ist, wie ich das nun mit den Selects machen müsste.
Gruß,
Jürgen
Silence66
Beiträge: 12
Registriert: Do Jul 29, 2021 10:45 am

Re: openWB series 2 an HomeAssistant anbinden

Beitrag von Silence66 »

Hallo zusammen,

erstmal Danke für die Integration, leider bekomm ich die Werte im HA nicht angezeigt.

Mosquitto läuft, alle Topics (1x Chargepoint, 2x PV, 1x Counter) werden richtig von der OpenWB an HA gegeben (sehe per MQTT Explorer alle Infos auf dem HA Broker) aber wenn ich ein Gerät hinzufüge (egal welches) werden keine Werte angezeigt.

Könnt ihr mir da weiterhelfen? Als ob die Integration nicht auf den Mosquitto Broker von HA zugreifen könnte

edit: hab noch screenshots vom MQTT explorer von der OpenWB (ip .88) und vom HA Broker (IP .99) angehängt und n Screenshot von der HA GUI

Setup: Raspi 5 8GB und die OpenWB mit der neusten SW

Edit2: Vergesst alles, es geht. Man sollte auch das MQTT Addon nicht nur den Server starten sondern auch die Konfiguration einmalig unter Geräte&Dienste aktivieren. Bekomme aber einige Fehlermeldungen im Log (habs mal zum Suchen auf Debug Level gestellt). Werde ggf. noch selber den Code debuggen, aber jetzt einfach zu müde;)

Code: Alles auswählen


2024-01-13 01:08:27.064 ERROR (MainThread) [homeassistant.util.logging] Exception in message_received when handling msg on 'openWB/system/lastlivevaluesJson': '{"timestamp": 1705104502, "time": "01:08:22", "grid": 0.408, "house-power": 0.408, "charging-all": 0.0, "pv-all": -0.0}'
Traceback (most recent call last):
  File "/config/custom_components/openwb2mqtt/sensor.py", line 156, in message_received
    self._attr_native_value = self.entity_description.value_fn(
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/openwb2mqtt/const.py", line 1056, in <lambda>
    value_fn=lambda x: round(1000 * float(json.loads(x).get("bat-all-power")), 0),
                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: float() argument must be a string or a real number, not 'NoneType'

2024-01-13 01:08:31.940 ERROR (MainThread) [homeassistant.util.logging] Exception in message_received when handling msg on 'openWB/system/lastlivevaluesJson': '{"timestamp": 1705104511, "time": "01:08:31", "grid": 0.407, "house-power": 0.407, "charging-all": 0.0, "pv-all": -0.0}'
Traceback (most recent call last):
  File "/config/custom_components/openwb2mqtt/sensor.py", line 156, in message_received
    self._attr_native_value = self.entity_description.value_fn(
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/openwb2mqtt/const.py", line 1056, in <lambda>
    value_fn=lambda x: round(1000 * float(json.loads(x).get("bat-all-power")), 0),
                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: float() argument must be a string or a real number, not 'NoneType'

2024-01-13 01:08:41.449 ERROR (MainThread) [homeassistant.util.logging] Exception in message_received when handling msg on 'openWB/system/lastlivevaluesJson': '{"timestamp": 1705104521, "time": "01:08:41", "grid": 0.41, "house-power": 0.41, "charging-all": 0.0, "pv-all": -0.0}'
Traceback (most recent call last):
  File "/config/custom_components/openwb2mqtt/sensor.py", line 156, in message_received
    self._attr_native_value = self.entity_description.value_fn(
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/openwb2mqtt/const.py", line 1056, in <lambda>
    value_fn=lambda x: round(1000 * float(json.loads(x).get("bat-all-power")), 0),
                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: float() argument must be a string or a real number, not 'NoneType'

2024-01-13 01:08:52.029 ERROR (MainThread) [homeassistant.util.logging] Exception in message_received when handling msg on 'openWB/system/lastlivevaluesJson': '{"timestamp": 1705104531, "time": "01:08:51", "grid": 0.403, "house-power": 0.403, "charging-all": 0.0, "pv-all": -0.0}'
Traceback (most recent call last):
  File "/config/custom_components/openwb2mqtt/sensor.py", line 156, in message_received
    self._attr_native_value = self.entity_description.value_fn(
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/openwb2mqtt/const.py", line 1056, in <lambda>
    value_fn=lambda x: round(1000 * float(json.loads(x).get("bat-all-power")), 0),
                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: float() argument must be a string or a real number, not 'NoneType'

2024-01-13 01:08:56.023 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 644, in state
    numerical_value = float(value)  # type:ignore[arg-type]
                      ^^^^^^^^^^^^
ValueError: could not convert string to float: '{"timestamp": 1705104531, "time": "01:08:51", "grid": 0.403, "house-power": 0.403, "charging-all": 0.0, "pv-all": -0.0}'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 883, in _update_entity_states
    await asyncio.gather(*tasks)
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 916, in async_update_ha_state
    self._async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1066, in _async_write_ha_state
    state, attr, capabilities, shadowed_attr = self.__async_calculate_state()
                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1003, in __async_calculate_state
    state = self._stringify_state(available)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 951, in _stringify_state
    if (state := self.state) is None:
                 ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 646, in state
    raise ValueError(
ValueError: Sensor sensor.openwb_controller_batterieleistung_gesamt has device class 'power', state class 'measurement' unit 'W' and suggested precision '0' thus indicating it has a numeric value; however, it has the non-numeric value: '{"timestamp": 1705104531, "time": "01:08:51", "grid": 0.403, "house-power": 0.403, "charging-all": 0.0, "pv-all": -0.0}' (<class 'str'>)
2024-01-13 01:09:01.598 ERROR (MainThread) [homeassistant.util.logging] Exception in message_received when handling msg on 'openWB/system/lastlivevaluesJson': '{"timestamp": 1705104541, "time": "01:09:01", "grid": 0.403, "house-power": 0.403, "charging-all": 0.0, "pv-all": -0.0}'
Traceback (most recent call last):
  File "/config/custom_components/openwb2mqtt/sensor.py", line 156, in message_received
    self._attr_native_value = self.entity_description.value_fn(
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/openwb2mqtt/const.py", line 1056, in <lambda>
    value_fn=lambda x: round(1000 * float(json.loads(x).get("bat-all-power")), 0),
                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: float() argument must be a string or a real number, not 'NoneType'

2024-01-13 01:09:12.017 ERROR (MainThread) [homeassistant.util.logging] Exception in message_received when handling msg on 'openWB/system/lastlivevaluesJson': '{"timestamp": 1705104551, "time": "01:09:11", "grid": 0.436, "house-power": 0.436, "charging-all": 0.0, "pv-all": -0.0}'
Traceback (most recent call last):
  File "/config/custom_components/openwb2mqtt/sensor.py", line 156, in message_received
    self._attr_native_value = self.entity_description.value_fn(
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/openwb2mqtt/const.py", line 1056, in <lambda>
    value_fn=lambda x: round(1000 * float(json.loads(x).get("bat-all-power")), 0),
                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: float() argument must be a string or a real number, not 'NoneType'

2024-01-13 01:09:21.505 ERROR (MainThread) [homeassistant.util.logging] Exception in message_received when handling msg on 'openWB/system/lastlivevaluesJson': '{"timestamp": 1705104561, "time": "01:09:21", "grid": 0.404, "house-power": 0.404, "charging-all": 0.0, "pv-all": -0.0}'
Traceback (most recent call last):
  File "/config/custom_components/openwb2mqtt/sensor.py", line 156, in message_received
    self._attr_native_value = self.entity_description.value_fn(
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/openwb2mqtt/const.py", line 1056, in <lambda>
    value_fn=lambda x: round(1000 * float(json.loads(x).get("bat-all-power")), 0),
                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: float() argument must be a string or a real number, not 'NoneType'

2024-01-13 01:09:26.024 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Danke euch
Dateianhänge
openwb.png
ha2.png
ha.png
Antworten