Läuft: Ebus Daten von Wolf Anlage mit ISM8i Modul in FHEM integrieren

Begonnen von Trinidad, 17 Mai 2017, 17:36:00

Vorheriges Thema - Nächstes Thema

Mikka

Hallo uxtuner,

Zitat von: uxtuner am 08 Juli 2020, 21:56:42
eine kurze Rückinfo wäre sehr nett - ich möchte mir ungern das 3te Wolf Modul zulegen um dann festzustellen, dass das man doch nichts schalten kann (dass die ISM7i damit nicht funktioniert und die Smartphone App nicht bedient wird habe ich mittlerweile rausgefunden) ...

laut https://www.heizungsforum.de/threads/ism7i-linkhome-oder-linkpro-fuer-cgb-20.10994/


ISM8i/ISM8e (intern/extern)
- Auslesen der Daten über (Ethernet) Bus.
- Kann mit verschiedenen Systemen genutzt werden (z.B. ioBroker, KNX).
- Ist nicht mit der App von Wolf nutzbar.
- Wird auf der Homepage von Wolf nicht mehr beworben, ist aber weiterhin im Internet zu bekommen.


ISM8i wird nicht mit der Wolf App nutzbar sein.

VG
Mikka

elo

Hi, ich habe seit eine paar Tagen eine CHA/CHC 07-300/50 mit BM-2 und seit vielen Jahren ein FHEM und MQTT.
Ich habe mir ein Link Home mit der Heizung bestellt, ist aber aktuell nicht lieferbar.
Jetzt erst lese ich mich in die Materie ein und frage mich, was benötige ich für folgende Funktionalität:

- Auslesen möglichst vieler Betriebsparameter.
- Ändern einiger Parameter für generellen Betrieb wie Urlaubsmodus, 1x Warmwasserbereitung, Zirkulationspumpe Zirk20 EIN für Intervall x
- Optional Internet, damit Wolf oder mein HB etwas ändern kann
- Firmwareupdates over the Air wären toll aber ich vermute die Heizung ist kein Tesla. :-)

Ist Wolf Link Home ein ISM7i und Pro ein ISM8i?
Das ISM8i kann man noch kaufen ist aber ein Ausläufer?
Was folgt?
Oder ist ein eBus 3.0 Adapter das was ich brauche und suche?

Was wird FHEM seitig am besten unterstützt?

Vielen Dank, für aufschlussreiche Antworten.

--
Raspi + FHEM 5.8 + HM-MOD-PCB + HM-LAN + HM-LC_Bl1PBU-FM + HM-LC-BL1-FM + HM-PB-2-WM + HM-LC-SW1-FM + HM-TC-IT-WM-W-EU + HM-CC-RT-DN

elo

Habe mir ein ISM8i gekauft und werde es mit der Lösung von Trinidad versuchen.
In vielen Posts werden scheinbar Gasbrennwertgeräte damit ausgelesen und die Parameter in den Datenpunkten klingen auch eher nach einer konventionellen Heizung.
Gibt es hier User die dieses Kombination mit einer LWWP CHA im Betrieb haben?

FW ISM8i ist 1.70, im Manual steht, einige Datenpunkte sind FW abhängig.
Ich werde versuchen sie in 2 neue .csv aufzunehmen.

Gruß Eike
--
Raspi + FHEM 5.8 + HM-MOD-PCB + HM-LAN + HM-LC_Bl1PBU-FM + HM-LC-BL1-FM + HM-PB-2-WM + HM-LC-SW1-FM + HM-TC-IT-WM-W-EU + HM-CC-RT-DN

elo

Das Modul aus Git läuft.
Bei mir fehlte noch ein Permodul, das wird zum Glück hier https://tips-und-mehr.de/wolf-heizanlagen-mit-ism8i-schnittstellenmodul-ueberwachen-und-in-fhem-auswerten/ erwähnt.
Pfade geändert, mit relativen Angaben hatte ich trotz modpath setzen kein Erfolg.

   my $file = "/usr/share/fhem/FHEM/wolf_datenpunkte_15.csv";
   my $file = "/usr/share/fhem/FHEM/wolf_writepunkte_15.csv";


Diese Datenpunkte konnte ich aus dem Manual entehmen, trage ich sie ein, läuft es nicht mehr.


#251;BM-2;Erkennung verfügbare Heiz- Mischerkreise;DPT_Value_1_Ucount;Out/-;-
#355;BM-2;Erkennung verfügbarer Geräte 1;DPT_Value_2_Ucount;Out/-;-
#356;BM-2;Erkennung verfügbarer Geräte 2;DPT_Value_2_Ucount;Out/-;-
#358;BM-2;Erkennung vorhandener Warmwasserkreise;DPT_Value_1_Ucount;Out/-;-


Zu diesen ID's kann ich nichs herausfinden.

ERROR_NotFound.336..ERROR_NotFound
ERROR_NotFound.337..ERROR_NotFound
ERROR_NotFound.338..ERROR_NotFound
ERROR_NotFound.339..ERROR_NotFound
ERROR_NotFound.340..ERROR_NotFound
ERROR_NotFound.341..ERROR_NotFound
ERROR_NotFound.342..ERROR_NotFound
ERROR_NotFound.343..ERROR_NotFound
ERROR_NotFound.344..ERROR_NotFound
ERROR_NotFound.345..ERROR_NotFound
ERROR_NotFound.347..ERROR_NotFound
ERROR_NotFound.348..ERROR_NotFound
ERROR_NotFound.349..ERROR_NotFound
ERROR_NotFound.350..ERROR_NotFound
ERROR_NotFound.351..ERROR_NotFound
ERROR_NotFound.352..ERROR_NotFound
ERROR_NotFound.353..ERROR_NotFound
ERROR_NotFound.354..ERROR_NotFound
ERROR_NotFound.355..ERROR_NotFound
ERROR_NotFound.356..ERROR_NotFound
ERROR_NotFound.357..ERROR_NotFound
ERROR_NotFound.358..ERROR_NotFound
ERROR_NotFound.362..ERROR_NotFound
ERROR_NotFound.363..ERROR_NotFound


--
Raspi + FHEM 5.8 + HM-MOD-PCB + HM-LAN + HM-LC_Bl1PBU-FM + HM-LC-BL1-FM + HM-PB-2-WM + HM-LC-SW1-FM + HM-TC-IT-WM-W-EU + HM-CC-RT-DN

elo

Bei einer Abtauaktion des Wärmetauschers sendet mir das ISM8i scheinbar falsche Werte.
Ich habe die Pakete mit wireshark gecaptured und mir die Kommunikation für Datenpunkt 178 herausextrahiert.

DP 178 Heizleistung kW = 00b2


Header+xy                             StartDP No.DP FirstDP DPCommand DPLenght  DP Value
0620f080001604000000f006 00b2     0001    00b2    03                    02             02a8 = 680 = 6.8kW
0620f080001604000000f006 00b2     0001    00b2    03                    02             015e = 350 = 3.5kW
0620f080001604000000f006 00b2     0001    00b2    03                    02             4cff = 19711 = 197.1kW ?
0620f080001604000000f006 00b2     0001    00b2    03                    02             0000 = 0 = 0kW
0620f080001604000000f006 00b2     0001    00b2    03                    02             03ac = 940 = 9.4kW


Habe ich das richtig interpretiert?
Das zerstört jede schöne Grafik! :-)
--
Raspi + FHEM 5.8 + HM-MOD-PCB + HM-LAN + HM-LC_Bl1PBU-FM + HM-LC-BL1-FM + HM-PB-2-WM + HM-LC-SW1-FM + HM-TC-IT-WM-W-EU + HM-CC-RT-DN

Trinidad

Wie schon auf meinem Blog geantwortet handelt es sich wahrscheinlich um Big Endian oder Little Endian Kodierung der Zahlen. Für kleine Werte kommt es meist noch hin aber ab einem bestimmten Wert kommen komische Interpretationen raus. In meinem Modul sind dafür aber Umrechnungsfunktionen hinterlegt.

elo

DPT_Power = ID 9.024 wird in deinem Code in Funktion convert_DptFloatToNumber umgerechnet.
Füttere ich diese Funktion mit verschiedenen Werten kommen diese Zahlen bei heraus:

0x02a8 = 6.8
0x015e = 3.5

Da es kleine Inputwerte sind, kommt noch fast das gleiche heraus (Kommastelle) als würde ich diese direkt von Hex zu Dezimal rechnen.

0x4cff verhält sich jetzt anders, hier kommt mit Deiner Funktion jetzt 6548.48 heraus.
Eine Funktion um die Endianess zu ändern finde ich im Code nicht, es müsste aber 0xff4c sein und damit kommt -58982.4 heraus.

Im KNX Interworking Dokument Seite 40 steht zu DPT_Power aber noch eine Note:
Zitat
NOTE 6 – DPTs for power
Two DPTs are specified for encoding electrical power. The DPT shall be chosen appropriately in
function of the accuracy and range that shall be covered by the application.

Damit könnte der Wert durch die Applikation als W interpretiert werden. Float mal als kW( Resolution 0.01) und mal als W(Resolutino 1) zu übertragen, würde ich aber sehr merkwürdig finden.
--
Raspi + FHEM 5.8 + HM-MOD-PCB + HM-LAN + HM-LC_Bl1PBU-FM + HM-LC-BL1-FM + HM-PB-2-WM + HM-LC-SW1-FM + HM-TC-IT-WM-W-EU + HM-CC-RT-DN

elo


Leider habe ich noch keine Antwort von Wolf erhalten.
Beim Abtauen könnten es auch negative Werte sein, Berechnung von Zahlen aus Gleitkommazahlen welche als Hex übertragen werden ist aber nicht meine Stärke, da kapituliere ich.


###############################################################
#                  convert_DptFloatToNumber
###############################################################
sub convert_DptFloatToNumber($)
{
        use bignum;
        my $val = shift;

        if ($val == 0x7fff) { return "invalid"; }

        my $sign = ($val & 0x8000) >> 15;
        my $mantisse = $val & 0x07ff;
        my $exponent = ($val & 0x7800) >> 11;

        if ($sign != 0) { $mantisse = -(~($mantisse - 1) & 0x07ff); }

   #if ($val & 0x8000) { $mantisse = ~$mantisse; } # negative number in two complement

   #return ($mantisse * 0.01) * (2 ** $exponent);

        return (1 << $exponent) * 0.01 * $mantisse;
}


Ich habe die Funktion kopiert, umbenannt und modifiziert. Zahlen oberhalb von 1000 werden durch 1000 geteilt und mal -1 gerechnet.
Damit habe ich zumindest im Abtaubetrieb Werte, welche nicht meine Grafiken ins Absurde treiben.


sub convert_DptFloatToNumber1000($);



   elsif ($datatype eq "DPT_Power")
     {
          $result .= convert_DptFloatToNumber1000($dp_val).";kW";
         }



###############################################################
#                  convert_DptFloatToNumber1000 for kW results
###############################################################
sub convert_DptFloatToNumber1000($)
{
        use bignum;
        my $val = shift;
    my $subresult;

        if ($val == 0x7fff) { return "invalid"; }
 
        my $sign = ($val & 0x8000) >> 15;
        my $mantisse = $val & 0x07ff;
        my $exponent = ($val & 0x7800) >> 11;

        if ($sign != 0) { $mantisse = -(~($mantisse - 1) & 0x07ff); }

   #if ($val & 0x8000) { $mantisse = ~$mantisse; } # negative number in two complement

   #return ($mantisse * 0.01) * (2 ** $exponent);

        #return (1 << $exponent) * 0.01 * $mantisse;
        my $subresult = (1 << $exponent) * 0.01 * $mantisse;

        if ($subresult > 1000) {
                $subresult = ($subresult / 1000) * -1;
                return $subresult;
        } else {
                return $subresult;
        }
}

--
Raspi + FHEM 5.8 + HM-MOD-PCB + HM-LAN + HM-LC_Bl1PBU-FM + HM-LC-BL1-FM + HM-PB-2-WM + HM-LC-SW1-FM + HM-TC-IT-WM-W-EU + HM-CC-RT-DN

Klinki

Moin,

Ich habe seit letzter Woche meine Wärmepumpe am Start und bin auf das gleiche Problem wie elo gestoßen:

Zitat von: elo am 06 Dezember 2021, 10:23:07
Zu diesen ID's kann ich nichs herausfinden.

ERROR_NotFound.336..ERROR_NotFound
ERROR_NotFound.337..ERROR_NotFound
ERROR_NotFound.338..ERROR_NotFound
ERROR_NotFound.339..ERROR_NotFound
ERROR_NotFound.340..ERROR_NotFound
ERROR_NotFound.341..ERROR_NotFound
ERROR_NotFound.342..ERROR_NotFound
ERROR_NotFound.343..ERROR_NotFound
ERROR_NotFound.344..ERROR_NotFound
ERROR_NotFound.345..ERROR_NotFound
ERROR_NotFound.347..ERROR_NotFound
ERROR_NotFound.348..ERROR_NotFound
ERROR_NotFound.349..ERROR_NotFound
ERROR_NotFound.350..ERROR_NotFound
ERROR_NotFound.351..ERROR_NotFound
ERROR_NotFound.352..ERROR_NotFound
ERROR_NotFound.353..ERROR_NotFound
ERROR_NotFound.354..ERROR_NotFound
ERROR_NotFound.355..ERROR_NotFound
ERROR_NotFound.356..ERROR_NotFound
ERROR_NotFound.357..ERROR_NotFound
ERROR_NotFound.358..ERROR_NotFound
ERROR_NotFound.362..ERROR_NotFound
ERROR_NotFound.363..ERROR_NotFound


Das ISM8i (FW1.7) ist in der Gastherme (die Anlage ist hybrid) verbaut. Vor der Inbetriebnahme der Wärmepumpe lieferte das Modul fleißig Daten der Therme. Nun nicht mehr. Die Therme ist jetzt als ZusatzWärmeErzeuger (ZWE) konfiguriert. Ich vermute, dass Wolf durch die Änderung der Anlagen-Konfiguration die Datenpunkte "verschoben" hat.

Eine Antwort vom Hersteller habe ich auch noch nicht...

elo

Ich habe hierzu nie eine Antwort von Wolf erhalten, mein Setup ist wie oben beschrieben, keine Änderung bisher.
--
Raspi + FHEM 5.8 + HM-MOD-PCB + HM-LAN + HM-LC_Bl1PBU-FM + HM-LC-BL1-FM + HM-PB-2-WM + HM-LC-SW1-FM + HM-TC-IT-WM-W-EU + HM-CC-RT-DN

Klinki

Über die Installateur-Hotline konnte ich einem Mitarbeiter zumindest die Aussage entlocken, dass es wahrscheinlich an der Firmware liegt und diese aktualisiert werden müsse.
Das Modul ging wenige Tage nach meinem letzten Post auf die Reise und ich warte immer noch auf dessen Rückkehr....

Ich werde berichten.


Klinki

Not yet :-X
Kriege nicht mal eine Info über voraussichtliche Wartezeiten von Wolf.

Ich war aber recht fleißig mit meinem Ebus-Adapter und habe schon Einiges entschlüsseln können. Ist allerdings ein sehr aufwändiges Thema. Gerade mit Status/Fehlermdeldungen tue ich mich echt schwer.
Ich werde in den nächsten Tagen mal meine CSV teilen. Vielleicht nutzt es jemandem etwas.

Gruß,
Klinki

Klinki

Anscheind haben beim "Wolf" die Ohren geklingelt: Das ISM8 ist gestern wieder zurückgekommen. Firmware ist die 1.8.

Das Problem hat sich, nun ja, geändert: Die undokumentierten Readings sind mehr geworden, aber ich bekommen mehr sinnvolle Readings aus meinem System. Statt 24 unlesbaren/undokumentierten Readings sind es jetzt 28. Die "sinnvollen" Readings hatte ich vorher nicht gezählt.
Es sind aber subjektiv mehr geworden.

Nicht sehr befriedigend, aber mit der Kombination aus Ebusd und dem ISM hat man jetzt schon mal eine gute Möglichkeit sein System zu überwachen. Es bleibt zu hoffen, dass Wolf die Dokumentation eines Tages komplettiert.

Klinki

Seit der Installation des neuen WOLF_ISM8I-Moduls (welches prima funktioniert) hatte ich nach jedem Reboot, bzw. "shutdown restart" von fhem, das Problem, dass fhem immer im Kreis neu startete. Nach viel Sucherei konnte das Modul für die Nuki-Türschlösser als mögliche Ursache identifiziert werden. Dachte ich zumindest...

Der Autor schrieb, dass es sich um ein Problem mit einem Perl-Modul zur json-Dekodierung handelt.
Da vorher die Nukis gut funktionierten und das Wolf-Modul meine letzte fhem-Änderung war, habe ich das Wolf-Modul einfach mal auskommentiert. Seit dem funktionieren die Nukis auch wieder.
s. https://forum.fhem.de/index.php/topic,124388.msg1236576.html#msg1236576

Meine Perl-Kenntnisse sind leider sehr begrenzt. Vielleicht kann mir jemand von euch einen Tipp geben wie man beide Module sauber parallel betreiben kann?

Gruß,
klinki