Coder Social home page Coder Social logo

home-assistant-wolf_ism8's Introduction

Wolf Climate Control ISM8 für Home Assistant

Eine Home Assistant Integration für das WOLF ISM8 Modul.

Kompatibel mit:

  • Heizgerät 1-4
  • direkter Heizkreis
  • Mischerkreis 1-3
  • Kaskadenmodul
  • Solarmodul
  • Comfort Wohnraumlüftung
  • Wärmepumpe
  • Systembedienmodul (BM2)

INSTALLATION

Manuelle Version

  1. Download und entpacken der Dateien in den Ordner"custom_components" im Konfigurationsverzeichnis von Home Assistant (Heißt meistens ".homeassistant" in Core, oder auch "config" im Docker Container. Wenn es noch nicht existiert, einfach erzeugen.)
  2. Der "wolf"-Unterordner muss dort reinkopiert werden.
  3. Neustart von Home Assistant. Zuverlässiger ist das von Unix aus, aus der GUI habe ich manchmal das Gefühl, dass anklicken von "Neustart" nicht ausreicht.
  4. Unter Einstellungen -> Geräte&Dienste -> "Integration zufügen" wählen, nach Wolf suchen und installieren.

Installation über HACS

  1. Mittlerweile ist die Integration über den HACS Store installierbar. Dazu muss oben rechts mit den drei Punkten ein "benutzerdefiniertes Repository" hinzugefügt werden. Hier wird der Link auf das Github-Repo einmalig eingetragen ( [https://github.com/marcschmiedchen/home-assistant-wolf_ism8] ). Danach bleibt es in der eigenen HACS Installation immmer sichtbar.
  2. Danach kann man es auswählen und installieren. Dieser Vorgang lädt aber nur die Integration herunter, danach muss man sie im übernächsten Schritt noch selbst installieren.
  3. Nach dem Download unbedingt neu starten(!).
  4. Danach kann die Integration dann endlich selbst unter Einstellungen -> Geräte&Dienste -> "Integration zufügen" installiert werden.

Wichtig ist hier ganz besonders: Neustart hilft bei vielen Problemen während/nach der Installation.

Weitere Schritte & Konfiguration

  1. (optional): Angabe der IP Adresse und des Ports, auf dem die Integration am Netzwerk lauscht. Das ist NICHT die Adresse des ISM8-Moduls, sondern die HA-Server IP-Adresse, die mit dem ISM8 kommunizieren soll. Die Standardeinstellung "0.0.0.0" lauscht auf allen verfügbaren Netzwerkkarten und sollte fast immer OK sein. 12004 ist der Standard-Port, mit dem das ISM8 geliefert wird, und das sollte eigentlich auch fast immer OK sein.
  2. Die IP-Adresse eurer HA-Instanz und die Portnummer muss im ISM8 hinterlegt sein. Achtung, das ISM8 muss neu booten, wenn man die Einstellungen ändert.
  3. Im letzten Schritt alle Geräte auswählen, die ihr besitzt oder angezeigt bekommen wollt. Wenn ihr mehr auswählt, ist das zwar nicht schlimm, aber es werden dann ungenutzte Entitäten in HA angelegt, die nie einen Wert bekommen.
  4. Es gibt einen Punkt "undokumentierte Daten" --> manchmal kommen Daten vom ISM8, die in der Doku (noch nicht) hinterlegt ist. Damit sie nicht verloren gehen oder Fehler auslösen, habe ich sie hierhin verschoben. Wenn jemand rausfindet was das ist, integriere ich sie gern.

SCREENSHOTS

TODO

  • Integration von Pull auf Push umstellen
  • ggf. Autodiscover

home-assistant-wolf_ism8's People

Contributors

lhbl2003 avatar marcschmiedchen avatar nanosonde avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

home-assistant-wolf_ism8's Issues

Problems controlling functions since 3.0

Hi,
since I did an update to version 3.0 I have problems to control the features of my CWL from Home Assistant. Before it was working without problems.

Since the update I'm not able to start for instance the "Intensivlüftung". The optionlist offers "1" to start the "Intensivlüftung" and "0" to turn it off. If I start the "Intensivlüftung" directly on the Wolf-Device, im able to turn it off from Home Assistant, but not to turn it on again. All the same with other optionlists. Did you change anything within the function handling?

thanks and best regards,
moongringo

Pressure change pa to bar

Hello, i want to change the pressure from pa to bar. i tried to change the unit of measurement on the entity but it is not working.

Sollwertkorrektur/Sparfaktor - Aktueller Wert nicht angezeigt/Wert nicht änderbar

Bei Sollwertkorrektur/Sparfaktor gibt es 2 Probleme:
(1) Aktueller Wert wird nicht angezeigt
2) Wert kann nicht geändert werden
Fehlermeldung:
Fehler beim Aufrufen des Dienstes select/select_option. Option -1 not valid for select.dkw_sollwertkorrektur

DPT_TEMPD ist float und muss für die Benutzung von homeassistant.select in str umgewandelt werden.
Die Gegenrichtung in async_select_option gibt es ja schon: option = float(option)
https://developers.home-assistant.io/docs/core/entity/select/
Name Type Default Description
current_option str None The current select option
options list Required A list of available options as strings

Möglicher Fix:
select.py
class WolfSelect(SelectEntity):
@Property
def options(self):
"""Return all available options"""

    _options = []
    if self._type in (SensorType.DPT_HVACCONTRMODE,
                      SensorType.DPT_HVACMODE,
                      SensorType.DPT_DHWMODE,
                      SensorType.DPT_TEMPD,
                      SensorType.DPT_SWITCH):

        for opt in self._ism8.get_value_area(self.dp_nbr):
            if self._type == SensorType.DPT_TEMPD:
                opt = str(opt)
            _options.append(opt)
    else:
        _LOGGER.error("Unknown datapoint type %s for select sensor", self._type)
    return _options

async def async_update(self) -> None:
    """Return state"""
    option = self._ism8.read(self.dp_nbr)
    if self._type == SensorType.DPT_TEMPD:
        option = str(option)
    self._attr_current_option = option
    return

CWL - keine Entities für Luftdurchsatz Zuluft/Abluft

Hi!

Leider werden in der aktuellen Version für die o.g. Datenpunkte keine Entities mehr angelegt.
Wenn ich das im Code richtig sehe, sollte es daran liegen, dass keine gültigen Wertebereiche für die beiden o.g. Datenpunkte (166, 167) im wolf_ism8 Modul hinterlegt sind.

Hier sollte der Bereich 0-500 ausreichen.
Die CWL400 Excellent geht bis 300m3/h.

Fehlerhafte Datenpunkte

Ich beobachte zeitweise fehlerhafte Datenpunkte weit ausserhalb der erwarteten Skala. (6000kW Heizleistung ...)

image

Send command to update all datapoints after connection was made

Hi!

It would very helpful if the integration would immediately send a request to the ISM8 to send an update for all datapoints.

Same is done here: https://github.com/openhab/openhab-addons/blob/bf5cea09ed271671ed363ec46d17f4ccfcb08649/bundles/org.openhab.binding.ism8/src/main/java/org/openhab/binding/ism8/server/Server.java#L226

A version in PHP

function request_all_datapoints($msgsock)
{
    /* Send special message to request all datapoints to be sent. */
    $msg = array(0x06, 0x20, 0xF0, 0x80, 0x00, 0x16, 0x04, 0x00, 0x00, 0x00, 0xF0, 0xD0);
    $str = implode(array_map("chr", $msg));
    fwrite($msgsock, $str , strlen($str));
}

In the Wolf ISM8 documentation PDF this mentioned in chapter 8.5 ("Aktives Auslesen der Datenpunkte").

I think there is something wrong with the error status of the entities.

EN:
From a current perspective, I would say that faults are displayed correctly but do not work properly.
For example, if I close the gas valve and restart the heating, I get the message "Problem" for the heater1 fault.

However, if I now create an automation by using the entity "binary_sensor.heizgeraet1_stoerung" as a trigger. (change to "Problem"), the automation is still not started.
Even if I create a group helper to summarise all faults, this does not react.

I have built a binary_sensor template helper for printing, which is also of the display type Problem. This triggers the automation and also changes the status in my helper group.

DE:
Aus aktueller Sicht würde ich sagen, dass Störungen zwar richtig angezeigt werden, aber nicht richtig arbeiten.
Wenn ich z.B. das Gasventil schließe und die Heizung neu starte, dann bekomme ich als Meldung für das Heizgerät1 Störung „Problem“.

Wenn ich nun aber eine Automatisierung erstelle, indem ich die Entität „binary_sensor.heizgeraet1_stoerung“ als Trigger verwende. (Wechsel zu „Problem“) So wird dennoch die Automatisierung nicht gestartet.
Auch wenn ich einen Gruppen Helfer erstelle um alle Störungen zusammenzufassen reagiert dieser nicht.

Ich habe mir für den Druck ein binary_sensor Template Helfer gebaut, der auch vom Anzeigetyp Problem ist. Dieser Triggert die Automatisierung und ändert auch in meiner Helfergruppe den Status.

Zusammenfassung:

  • Wenn man zwei Störungen in einer Helfer Gruppe zusammenfasst. So bleibt der Status immer OK. Auch wenn ein „Problem“ ausgelöst wurde.
  • Wenn man eine Störungs Entität in einer Automatisierung verwendet und auf Status Änderung zu „Problem“ so wird diese nicht ausgelöst.
  • Eine selbst erstellter Helfer Template Status wechselt in der Kachel Ansicht zu Problem und Ändert das Icon von einem grauen Haken zu einem Roten Ausrufezeichen. Die Wolf Integration bleibt immer bei einem gelben Haken.

IMG_0003
IMG_0004
IMG_0005
IMG_0006
IMG_0007
IMG_0008
IMG_0009
IMG_0010
IMG_0011
IMG_0012
IMG_0014
IMG_0015

unbekannte Datenpunkte erzeugen Fehler im Log

Nach dem Bugfix werden nun die Datenpunkte aufgelistet, die nicht bekannt sind.
Die Punkte sind nicht in der Doku hinterlegt, könnte also auch ein Bug des ISM8 Moduls sein.

Logger: wolf_ism8.ism8
Source: runner.py:179
First occurred: 20:57:03 (144 occurrences)
Last logged: 21:28:15

unknown datapoint: 343, data:bytearray(b'\x00')
unknown datapoint: 344, data:bytearray(b'\x00\x00')
unknown datapoint: 345, data:bytearray(b'\x00\x00')
unknown datapoint: 347, data:bytearray(b'\x00')
unknown datapoint: 348, data:bytearray(b'\x00')

Datentyp bei Steuerelement "CWL_Programm" ungültig

Erstmal vielen Dank für die Umsetzung der Integration.
Ich hatte vorher eine parallele Installation von FHEM, die dann die Daten via MQTT an Homeassistant übermittelt hat.
Hat auch funktioniert, war aber alles andere als stabil, geschwige denn komfortabel.

Daher bin ich sehr dankbar für die Umsetzung ;)

Ich habe festgestellt, dass bei der CWL implementierung die Programmauswahl "CWL_Programm" (Auswahl der Lüftungsstufe) auf einen Fehler läuft.

Ich habe die Logs aus Homeassistant angefügt.

Laut Datenblatt ISM8 sind folgende Werte vorgesehen:

Screenshot from 2023-03-09 22-05-26

Screenshot from 2023-03-09 21-46-43

Logger: homeassistant.components.websocket_api.http.connection
Source: custom_components/wolf/select.py:151
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 21:34:01 (8 occurrences)
Last logged: 21:49:15

[2762907312] '>' not supported between instances of 'str' and 'int'
[2645677416] '>' not supported between instances of 'str' and 'int'
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 199, in handle_call_service
await hass.services.async_call(
File "/usr/src/homeassistant/homeassistant/core.py", line 1808, in async_call
task.result()
File "/usr/src/homeassistant/homeassistant/core.py", line 1845, in _execute_service
await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 213, in handle_service
await service.entity_service_call(
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 686, in entity_service_call
future.result() # pop exception if have
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 961, in async_request_call
await coro
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 726, in _handle_entity_call
await result
File "/usr/src/homeassistant/homeassistant/components/select/init.py", line 106, in async_select_option
await entity.async_select_option(option)
File "/config/custom_components/wolf/select.py", line 151, in async_select_option
self._ism8.send_dp_value(self.dp_nbr, option)
File "/usr/local/lib/python3.10/site-packages/wolf_ism8/ism8.py", line 235, in send_dp_value
if not validate_dp_value(dp_id, value):
File "/usr/local/lib/python3.10/site-packages/wolf_ism8/ism8_helper_functions.py", line 100, in validate_dp_value
if (value > max(DP_VALUES_ALLOWED.get(dp_id))) or (value < min(DP_VALUES_ALLOWED.get(dp_id))):
TypeError: '>' not supported between instances of 'str' and 'int'

Dieser Fehler wurde von einer benutzerdefinierten Integration verursacht

Logger: wolf_ism8.ism8_helper_functions
Source: custom_components/wolf/select.py:151
Integration: Wolf Climate Control ISM8 (documentation, issues)
First occurred: 21:34:29 (5 occurrences)
Last logged: 21:45:12

value for 153 has invalid datatype <class 'str'>, should be <class 'int'>
value for 158 has invalid datatype <class 'str'>, should be <class 'int'>

Datentyp für AN/ AUS fehlerhaft

Die folgenden Schalter führen beim Betätigen zu einer Fehlermeldung

  • CWL_Zeitw. Feuchteschutz AN_AUS
  • CWL_Intensivlueftung AN_AUS

Logger: homeassistant.components.websocket_api.http.connection
Source: components/select/init.py:105
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 15:09:16 (6 occurrences)
Last logged: 22:23:26

[2632173432] Option 1 not valid for select.cwl_zeitw_feuchteschutz_an_aus
[2632173432] Option 0 not valid for select.cwl_zeitw_feuchteschutz_an_aus
[2589123128] Option 1 not valid for select.cwl_intensivlueftung_an_aus
[2647202712] Option 1 not valid for select.cwl_intensivlueftung_an_aus
[2647202712] Option 1 not valid for select.cwl_zeitw_feuchteschutz_an_aus
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 199, in handle_call_service
await hass.services.async_call(
File "/usr/src/homeassistant/homeassistant/core.py", line 1808, in async_call
task.result()
File "/usr/src/homeassistant/homeassistant/core.py", line 1845, in _execute_service
await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 213, in handle_service
await service.entity_service_call(
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 686, in entity_service_call
future.result() # pop exception if have
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 961, in async_request_call
await coro
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 726, in _handle_entity_call
await result
File "/usr/src/homeassistant/homeassistant/components/select/init.py", line 105, in async_select_option
raise ValueError(f"Option {option} not valid for {entity.entity_id}")
ValueError: Option 1 not valid for select.cwl_intensivlueftung_an_aus

Feature Request: Gerätenamen ausschreiben wie auch beim Geräteanlegen.

Bitte die Gerätenamen ausschreiben, so wie sie in der Auswahl beim Anlegen erscheinen.
Gerade wenn man nicht jeden Tag in den Bereichen ist oder Neuling ist, vergisst man schnell die Abkürzungen.
Zumal diese teilweise anders heißen als die Originalbezeichnungen von Wolf.

Beispiel DKW (Direkter Heizkreis/WW) welches scheinbar viele Dinge enthält, welche bei Wolf unter (BM1 / BM2) Bedienmodul 1 / 2 gelistet werden.

image

Button funktiniert nicht mehr

Seit dem Update kann ich kein Warmwasser mehr machen.

Das Plugin bietet u.a. folgende Buttons. Mit dem "Systembedienmodul 1x Warmwasserladung (global)" konnte ich bis jetzt immer außer Plan Warmwasser machen:

Wenn ich in die home-assistant.log schaue, bekomme ich folgende Fehlermeldung:
ERROR (MainThread) [wolf_ism8.ism8_helper_functions] mode number 7 not implemented:

Datentyp für AN/ AUS - Steuerelemente ungültig

Hallo marcschmiedchen,

Ich habe die Integration komplett neu hinzugefügt.
Beim Setzen der Werte für die betreffenden Datenpunkte bekomme ich nun folgende Fehlermedlung. Die Fehlermeldung hatte ich bereits im Issue #15 bekommen:

Dieser Fehler wurde von einer benutzerdefinierten Integration verursacht

Logger: wolf_ism8.ism8_helper_functions
Source: custom_components/wolf/select.py:137
Integration: Wolf Climate Control ISM8 (documentation, issues)
First occurred: 20:57:29 (3 occurrences)
Last logged: 21:08:54

value for 153 has invalid datatype <class 'str'>, should be <class 'int'>
value for 158 has invalid datatype <class 'str'>, should be <class 'int'>

Vielen Dank für die Bemühungen.

image

image
image

Unknown Datapoints

2023-10-30 12:30:40.787 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 336, data:bytearray(b'\x00')
2023-10-30 12:30:40.793 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 362, data:bytearray(b'\x00')
2023-10-30 12:30:40.795 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 363, data:bytearray(b'\x00')
2023-10-30 12:30:40.887 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 336, data:bytearray(b'\x00')
2023-10-30 12:30:40.893 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 362, data:bytearray(b'\x00')
2023-10-30 12:30:40.897 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 363, data:bytearray(b'\x00')
2023-10-30 12:30:40.989 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 336, data:bytearray(b'\x00')
2023-10-30 12:30:40.995 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 362, data:bytearray(b'\x00')
2023-10-30 12:30:41.000 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 363, data:bytearray(b'\x00')
2023-10-30 12:30:41.091 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 336, data:bytearray(b'\x00')
2023-10-30 12:30:41.097 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 362, data:bytearray(b'\x00')
2023-10-30 12:30:41.101 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 363, data:bytearray(b'\x00')
2023-10-30 12:30:41.193 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 336, data:bytearray(b'\x00')
2023-10-30 12:30:41.199 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 362, data:bytearray(b'\x00')
2023-10-30 12:30:41.204 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 363, data:bytearray(b'\x00')
2023-10-30 12:30:41.295 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 336, data:bytearray(b'\x00')
2023-10-30 12:30:41.301 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 362, data:bytearray(b'\x00')
2023-10-30 12:30:41.305 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 363, data:bytearray(b'\x00')
2023-10-30 12:30:41.510 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 337, data:bytearray(b'\x03')
2023-10-30 12:30:41.611 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 337, data:bytearray(b'\x03')
2023-10-30 12:30:41.675 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 338, data:bytearray(b'\x01')
2023-10-30 12:30:41.678 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 341, data:bytearray(b'\x00')
2023-10-30 12:30:41.712 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 337, data:bytearray(b'\x03')
2023-10-30 12:30:41.775 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 338, data:bytearray(b'\x01')
2023-10-30 12:30:41.780 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 341, data:bytearray(b'\x00')
2023-10-30 12:30:41.802 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 339, data:bytearray(b'\x00')
2023-10-30 12:30:41.813 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 337, data:bytearray(b'\x03')
2023-10-30 12:30:41.876 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 338, data:bytearray(b'\x01')
2023-10-30 12:30:41.881 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 341, data:bytearray(b'\x00')
2023-10-30 12:30:41.903 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 339, data:bytearray(b'\x00')
2023-10-30 12:30:41.914 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 337, data:bytearray(b'\x03')
2023-10-30 12:30:41.966 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 340, data:bytearray(b'\x01')
2023-10-30 12:30:41.977 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 338, data:bytearray(b'\x01')
2023-10-30 12:30:41.984 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 341, data:bytearray(b'\x00')
2023-10-30 12:30:42.005 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 339, data:bytearray(b'\x00')
2023-10-30 12:30:42.016 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 337, data:bytearray(b'\x03')
2023-10-30 12:30:42.067 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 340, data:bytearray(b'\x01')
2023-10-30 12:30:42.078 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 338, data:bytearray(b'\x01')
2023-10-30 12:30:42.085 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 341, data:bytearray(b'\x00')
2023-10-30 12:30:42.106 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 339, data:bytearray(b'\x00')
2023-10-30 12:30:42.111 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 342, data:bytearray(b'\x01')
2023-10-30 12:30:42.113 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 343, data:bytearray(b'\x01')
2023-10-30 12:30:42.169 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 340, data:bytearray(b'\x01')
2023-10-30 12:30:42.180 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 338, data:bytearray(b'\x01')
2023-10-30 12:30:42.187 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 341, data:bytearray(b'\x00')
2023-10-30 12:30:42.208 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 339, data:bytearray(b'\x00')
2023-10-30 12:30:42.211 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 342, data:bytearray(b'\x01')
2023-10-30 12:30:42.214 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 343, data:bytearray(b'\x01')
2023-10-30 12:30:42.262 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 344, data:bytearray(b'\x01^')
2023-10-30 12:30:42.270 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 340, data:bytearray(b'\x01')
2023-10-30 12:30:42.309 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 339, data:bytearray(b'\x00')
2023-10-30 12:30:42.312 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 342, data:bytearray(b'\x01')
2023-10-30 12:30:42.315 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 343, data:bytearray(b'\x01')
2023-10-30 12:30:42.362 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 344, data:bytearray(b'\x01^')
2023-10-30 12:30:42.371 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 340, data:bytearray(b'\x01')
2023-10-30 12:30:42.414 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 342, data:bytearray(b'\x01')
2023-10-30 12:30:42.417 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 343, data:bytearray(b'\x01')
2023-10-30 12:30:42.463 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 344, data:bytearray(b'\x01^')
2023-10-30 12:30:42.472 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 340, data:bytearray(b'\x01')
2023-10-30 12:30:42.515 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 342, data:bytearray(b'\x01')
2023-10-30 12:30:42.520 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 343, data:bytearray(b'\x01')
2023-10-30 12:30:42.565 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 344, data:bytearray(b'\x01^')
2023-10-30 12:30:42.616 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 342, data:bytearray(b'\x01')
2023-10-30 12:30:42.621 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 343, data:bytearray(b'\x01')
2023-10-30 12:30:42.667 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 344, data:bytearray(b'\x01^')
2023-10-30 12:30:42.768 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 344, data:bytearray(b'\x01^')
2023-10-30 12:30:42.990 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 345, data:bytearray(b'\x02X')
2023-10-30 12:30:43.090 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 345, data:bytearray(b'\x02X')
2023-10-30 12:30:43.191 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 345, data:bytearray(b'\x02X')
2023-10-30 12:30:43.292 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 345, data:bytearray(b'\x02X')
2023-10-30 12:30:43.393 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 345, data:bytearray(b'\x02X')
2023-10-30 12:30:43.494 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 345, data:bytearray(b'\x02X')
2023-10-30 12:30:44.463 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 347, data:bytearray(b'\x01')
2023-10-30 12:30:44.465 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 348, data:bytearray(b'\x01')
2023-10-30 12:30:44.564 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 347, data:bytearray(b'\x01')
2023-10-30 12:30:44.565 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 348, data:bytearray(b'\x01')
2023-10-30 12:30:44.666 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 347, data:bytearray(b'\x01')
2023-10-30 12:30:44.667 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 348, data:bytearray(b'\x01')
2023-10-30 12:30:44.768 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 347, data:bytearray(b'\x01')
2023-10-30 12:30:44.769 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 348, data:bytearray(b'\x01')
2023-10-30 12:30:44.869 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 347, data:bytearray(b'\x01')
2023-10-30 12:30:44.870 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 348, data:bytearray(b'\x01')
2023-10-30 12:30:44.970 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 347, data:bytearray(b'\x01')
2023-10-30 12:30:44.971 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 348, data:bytearray(b'\x01')

I just wanted to show this data and offer my help in diagnosing what is going on.

Datenpunkte zeigen hin und wieder "None" anstatt reelle Werte

Hallo @marcschmiedchen.

Die neue Version läuft recht gut bei mir.
Eine Sache verstehe ich nicht ganz.

Es gibt ein paar Datenpunkte die bei mir hin und wieder auf "None" gesetzt werden.
Ich weiß aber nicht warum.
Passiert es, weil zu lange keine Daten von der Schnittstelle kommen?

In meinem Screenshot kann man sehen, dass (bis auf ein paar Ausreißer) die Daten korrekt eintrudeln und gespeichert werden.
Aber dann gibt es Momente bei denen der Wert "None" ist.

Da ich die Daten per Automatisierung in Variablen meiner Homematic schreibe, gibt es immer wieder Fehlermeldungen im Log, da es sich hierbei dann um ein String und nicht um eine Zahl handelt.

Wenn das Verhalten korrekt ist, werde ich meine Automatisierungen anpassen müssen.

Vielen Dank und Gruß
Tower

image

cannot find in HACS store

Hi, I'm unable to find the HACS integration when I search something with "wolf". Do i have to add anything anywhere?

Core 2024.4.0 (also not visible in 2024.3.0)
Supervisor 2024.03.1
Operating System 12.1
Frontend 20240403.1

Best regards,
Stefan

Warmwassersolltemperatur DP ID 56 keine Eingabe möglich

Hallo Marcschmiedchen,

vielen Dank für die geleistete Arbeit.
Datenpunkt 56, Warmwassersolltemperatur ist nicht als Inputvariable vorhanden. (Ebenfalls 69, 82, 95)
Hier sollte eine Eingabe lt Wolf ISM 8 Doku eine absoutangabe von 20°C bis 80°C möglich sein.

Gruß Stephan

Unkown Datapoints

Moin, ich habe in den HA Protokollen folgende Fehler:

ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 336, data:bytearray(b'\x00')
ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 362, data:bytearray(b'\x00')
ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 363, data:bytearray(b'\x00')
ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 337, data:bytearray(b'\x03')
ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 338, data:bytearray(b'\x01')
ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 341, data:bytearray(b'\x00')
ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 339, data:bytearray(b'\x00')
ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 340, data:bytearray(b'\x01')
ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 342, data:bytearray(b'\x01')
ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 343, data:bytearray(b'\x01')
ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 344, data:bytearray(b'\x01^')
ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 345, data:bytearray(b'\x03\x84')
ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 347, data:bytearray(b'\x01')
ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 348, data:bytearray(b'\x01')

Heizung: Wolf CHA07-200

Core 2024.1.3
Supervisor 2023.12.0
Operating System 11.4
Frontend 20240104.0

no data since 3.0 update

@marcschmiedchen seit dem update auf 3.0 bekomme ich keine Daten mehr. Habe schon neu eingerichtet und ISM8i Modul neugestartet. Geht nix. Haben andere auch Probleme?
Mein ism8i Modul:
image

Implement DPT_FlowRate for CWL

DPT_FlowRate decoder in PHP:

function convfrom_DPT_FlowRate($val)
{
	$value = ($val[0]<<24)|($val[1]<<16)|($val[2]<<8)|($val[3]<<0);
	$flowrate = $value * 0.0001;
	return ((string)$flowrate);
}

Do you have any plan to support these? At least for reading?

 Logger: wolf_ism8.ism8
Source: /usr/local/lib/python3.9/site-packages/wolf_ism8/ism8.py:494
First occurred: 13:31:33 (10 occurrences)
Last logged: 13:31:36

    datatype not implemented: DPT_Date
    datatype not implemented: DPT_TimeOfDay
    datatype not implemented: DPT_FlowRate_m3/h

BTW: Where can I find the repo for the wolf_ism8 python module?

BM2: Bedienmodul BM2 - Wurde ausgewählt, aber nicht als Gerät angezeigt.

Hallo @marcschmiedchen, danke für die Integration. Ich hoffe Deutsch ist ok, da ich die Vermutung habe, dass Schmiedchen aus Deutschland kommt ;)

Ich benutze FHEM und ioBroker und prüfe gerade, ob ich auf HomeAssistant umsteigen kann.
Dabei ist mir natürlich meine Wolf Heizung wichtig. Momentan läuft mein Testaufbau auf einem Raspberry Pi5, den ich mir extra für HomeAssistant gekauft habe. Das Interesse an der Integration ist also groß ;)


Erfahrungswert vielleicht für andere interessant: Weitere Geräte erweitern, mit kleiner Hürde

Meldung "ISM8 - Kein Gerät oder Entitäten - Fehler beim EInrichten"

Die Einbindung hat auf Anhieb funktioniert, auch wenn ich zur Erweiterung der Geräte (SM1, MM1) alle Geräte einmal löschen und neu anlegen muss, sowie die YAML-Konfiguration überprüfen und den HomeAssistant auch dort neu starten muss.
image

image


Mein aktuelles Problem: BM2 - Bediengerät 2 / Bedienmodul 2 wird nicht aufgelistet

Mein aktuelles Problem ist, dass ich BM2 ausgewählt habe, es aber nicht aufgelistet wird. Da es das letzte Gerät ist, hoffe ich, dass es ein Fehler im Programm ist und das letzte Array nicht verarbeitet wird. (Vermutung, habe noch nicht in den Quellcode geschaut)
image

image

Ist dies ein Bug oder muss ich noch etwas beachten?


Allgemeine Frage / Feature Vorschlag: BM2 - Bediengerät 2 / Bedienmodul 2 wird nicht aufgelistet

Und wenn das Bedienmodul vorhanden ist, frage ich mich, ob ich die folgenden Parameter über HomeAssistant steuern kann. Denn unter SYM sehe ich bisher "nur" die Warmwasser Einmalladung.

  • Programmwahl Mischer
  • Programmwahl Warmwasser
  • Sollwertkorrektur
  • Einsparfaktor

Die 4 Parameter sind für mich wichtig, da ich derzeit über den ioBrocker meine Heizung bedarfsgerecht steuere.
z.B.: alle Heizkörper / Fußbodenheizungsventile zu, dann Heizung Standby
oder: Mind. 1 Heizkörper 100% auf, dann mehr Leistung, um den Raum schnell warm zu bekommen.
usw.

image

Vielen Dank für deine Hilfe.

Installation from Pund setup

Hallo marcschmiedchen,

ich versuche gerade die WolfISM8 Software in HA zu intergrieren. Leider scheitere ich schon beim Versuch die Dateien über Python (vonPyPi) zu installieren. Mein HA läuft auf einer VM mit dem OS Betriebssystem.

Vielen Dank vorab
Stephan

Hello marcschmiedchen,

I am trying to integrate the WolfISM8 software into HA. Unfortunately I fail already when trying to install the files via Python (fromPyPi). My HA is running on a VM with the OS operating system.

Thanks in front
Stephan

Unbekannte Daten für Heizgerät HG1- LWP BWL1S07

Hallo,

ich bekomme vom Heizgerät HG1den Wert: "Unbekannt" für fast alle Parameter vom ISM8 Modul zurückgeliefert.
Ich habe das ISM8i an einer Luft-Wärmepumpe BWL1S07 hängen.

  • hg1_brennerleistung
  • hg1_anlagendruck
  • hg1_status_brenner
  • hg1_sammlertemperatur
  • hg1_warmwassertemperatur
  • hg1_kesseltemperatur

Gruß Stephan

Alle Werte stehen auf None

Die Verbindung zu meinem ISM8i an der BWL-1s Wärmepumpe scheint erfolgreich etabliert zu sein. Am Anfang stehen die Werte auf Unbekannt und springen nach kurzer Zeit auf None.

Screenshot 2023-11-07 at 17 30 33

Muss ich noch irgendwo etwas konfigurieren?

Nur Lesen, kein Schreiben

Bug description
Es ist nur möglich Daten zu lesen. Jedoch nicht zu schreiben. Beispiel: 1x Warmwasser wird als Bool angezeigt, anstatt, wie in der Beschreibung als DPT_Switch.

Your environment
Home Assistant 2022.9.2
Supervisor 2022.08.6
Operating System 8.5
Frontend 20220907.0 - latest

Expected behaviour
Ich kann die 1x Warmwasser per HomeAssistant über Button aktivieren.

What went wrong?
1x Warmwasser (und andere) sind als Boolean definiert.

Support for Wolf CHA 07/10?

Doe the code also support CHA X version heat pumps? Or does it support whatever the ISM8 supports? If not then I'd like to suggest to add such support. Thanks!

Connection from HomeAssistant lost after serveral days

Hello,

the connection between HomeAssistant is always lost after a few days. Turning off the power and restarting the ISM8 solves the problem, until after a few days the connection is lost again.

The ISM8 is assigned a static IP.

Regards Stephan

Working with ism8i?

Does this solution also work for the ism8i? I have tried it with one and get the following error message:

2022-03-03 21:15:22 ERROR (MainThread) [wolf_ism8.ism8] unknown datapoint: 363, data:0
2022-03-03 21:15:22 ERROR (MainThread) [wolf_ism8.ism8] datatype unknown, using INT: DPT_unknown

Datentyp für prozentuale Leistung (Heizgerät oder CWL Excellent) ohne Einheit

Der Datentyp für die prozentuale Leistung des Brenners oder der Lüftungsanlage wird nicht als grafischer Verlauf dargestellt, das liegt möglicherweise an der fehlenden Einheit "%"
Die prozentuale Leistung wird in der aktuellen Version ohne Einheit als Leistungsfaktor interpretiert und in Homeassistant angelegt.

Screenshot from 2023-03-16 21-54-44

Screenshot from 2023-03-16 22-06-47

In Homeassistant wird die Historie nicht als grafischer Verlauf sondern als Zustandsverlauf dargesetllt (wie bei Text-Sensoren):
Screenshot from 2023-03-16 22-14-47

Grundsätzlich wäre die Einheit in Prozent korrekt, ich bin mir aber nicht sicher, ob das die Problematik mit der Anzeige behebt.
Siehe Datenblattauszug ISM8:
Screenshot from 2023-03-16 21-58-02

Keine Werte

Bei der Konfiguration ist mir aufgefallen, dass bei den Sensoren nichts angezeigt wird. Zum Beispiel steht bei HG1_Abgastemperatur "None °C"...Eigentlich bei sämtlichen Sensoren. Einzig Sensoren mit An/Aus werden korrekt dargestellt (z.B. HG1_Status_Brenner)

Fehlende Entität Betriebsmodus

Ich finde leider keine Entität, die den Betriebsmodus (hvaccontrmode) der Wärmepumpe anzeigt (z.B. „Kühlen“). Ich steige gerade von ioBroker zu Home Assistant um und benötige die Entität, um auch meine Raum-Thermostate in den Kühlmodus zu versetzen.

Install error line 52, in async_setup

Hallo ich hab die Installationsanweisungen befolgt aber bekommt folgenden Fehler beim Starten von Home Assistent:

2022-07-14 22:29:47 ERROR (MainThread) [homeassistant.setup] Error during setup of component wolf
File "/config/custom_components/wolf/init.py", line 52, in async_setup

Unknown data points

Hi!

I only have a Wolf CWL Excellent 300 with an ISM8 and can see the following in the logs:

 Logger: wolf_ism8.ism8
Source: /usr/local/lib/python3.9/site-packages/wolf_ism8/ism8.py:394
First occurred: 13:31:37 (31 occurrences)
Last logged: 13:31:39

    unknown datapoint: 354, data:0
    unknown datapoint: 355, data:0
    unknown datapoint: 356, data:0
    unknown datapoint: 357, data:255
    unknown datapoint: 358, data:0

Any idea what this might be?

Feedback

@marcschmiedchen einfach toll, dass es noch implementiert wurde. Noch ein kurzes Feedback von mir.
Läuft alles tip top. Nur muss man erstmal verstehen, wenn man noch die alte Konfig hatte, dass diese raus muss aus der configuration.yaml. Danach klassisch einrichten.
Bilder habe ich dir auch noch mal angehangen für vielleicht Doku Anpassung noch.

Kann man sich bei dir erkenntlich zeigen mit einer Paypal Spende oder ähnlichen? Ich finde, dass so etwas auch gewürdigt werden muss. Viele fordern immer nur und geben nichts. Kenne das leider viel zu oft.

Hier noch der Tipp für andere:
Ich habe z.B. eine CGB-2 und das BM-2.
Wenn man jetzt aber noch die Programme also Werte schreiben möchte, dann muss immer DKW mit ausgewählt werden.

Also für alle HA User, immer DKW & SYM mit auswählen. SYM kann auch manuell einen Datenpush - geniale Funktion.

DKW
HG1
SYM

CHA Betriebsart

Moinsen,
ich hab seite heute meine CHA-07 mit ISM8 am laufen. Leider kriege ich keine Betriebsart angezeigt, sollte laut Doku Datenpunkt 177 sein.

Gruß,
Marc

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.