Hauptmenü

CAN Bus und Stiebel Eltron

Begonnen von tomix, 15 August 2022, 00:00:22

Vorheriges Thema - Nächstes Thema

tomix

Hallo zusammen

Ich versuche das hier zu verstehen:
https://forum.fhem.de/index.php/topic,42248.15.html

Hardware die ich habe:
Stiebel Eltron Wärempumpe WPL 13 mit einem WPM II

Zugelegt habe ich mir eine candleLight CAN-Bus USB-Adapter. Den an den CAN-Bus gehängt und an den Laptop und mal folgendes eingegeben:
ip link set dev can0 up type can bitrate 20000
und dann

ip -details -statistic link show can0
10: can0: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc pfifo_fast state UP mode DEFAULT group default qlen 10
    link/can  promiscuity 0 minmtu 0 maxmtu 0
    can state ERROR-ACTIVE restart-ms 0
          bitrate 20000 sample-point 0.875
          tq 3125 prop-seg 6 phase-seg1 7 phase-seg2 2 sjw 1
          gs_usb: tseg1 1..16 tseg2 1..8 sjw 1..4 brp 1..1024 brp-inc 1
          clock 48000000
          re-started bus-errors arbit-lost error-warn error-pass bus-off
          0          0          0          0          0          0         numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535
    RX: bytes  packets  errors  dropped overrun mcast   
    189        27       0       0       0       0       
    TX: bytes  packets  errors  dropped carrier collsns
    0          0        0       0       0       0 

Die Ausgabe sagt mir mal gar nichts, aussert dass die bitrate 20000 ist (man sollte keine 0 zuviel tippen, wie im ersten Versuch).


candump can0
  can0  180   [7]  60 79 23 00 00 00 00
  can0  480   [7]  A0 00 5F 04 00 00 00
  can0  480   [7]  A0 00 74 00 01 00 00
  can0  180   [7]  60 79 23 00 00 00 00
  can0  480   [7]  A0 00 74 00 01 00 00
  can0  180   [7]  60 79 23 00 00 00 00
  can0  480   [7]  A0 00 5F 04 00 00 00
  can0  480   [7]  A0 00 74 00 01 00 00


Sieht mal gut aus und nun wie weiter? Ich habe da keinen Plan.

Brachialmethode Sicherung raus und wieder rein und gucken was dann mal kommt führt zu:

  can0  480   [7]  96 00 FD 01 00 00 00
  can0  180   [7]  36 00 FD 01 00 00 00
  can0  300   [7]  66 00 FD 00 00 00 00
  can0  680   [7]  D6 00 FD 00 00 00 00
  can0  500   [7]  A6 00 FD 01 00 00 00
  can0  180   [7]  66 79 FE 01 00 00 00
  can0  480   [7]  A6 79 FE 01 00 00 00
  can0  180   [7]  C6 03 FE 01 00 00 00
  can0  180   [7]  60 79 23 00 00 00 00
  can0  480   [7]  A0 00 74 00 01 00 00
  can0  500   [7]  96 00 FE 01 00 00 00
  can0  480   [7]  A7 00 FE 01 00 00 00
  can0  500   [7]  90 00 01 00 00 00 00
  can0  500   [7]  90 00 14 01 34 00 00
  can0  500   [7]  90 00 0B 19 08 00 00
  can0  480   [7]  A0 79 30 01 00 00 00
  can0  500   [7]  90 00 5A 81 00 00 00
  can0  500   [7]  90 00 60 00 00 00 00
  can0  500   [7]  90 00 61 00 00 00 00
  can0  480   [7]  A0 79 10 01 00 00 00
  can0  500   [7]  90 00 14 01 34 00 00
  can0  480   [7]  A0 00 5F 00 00 00 00
  can0  480   [7]  A0 00 5D 00 00 00 00
  can0  480   [7]  A0 00 16 01 00 00 00
  can0  480   [7]  A0 00 5E 00 00 00 00
  can0  480   [7]  A0 01 5F 00 00 00 00
  can0  480   [7]  A0 01 5D 00 00 00 00
  can0  480   [7]  A0 01 16 01 00 00 00
  can0  480   [7]  A0 01 5E 00 00 00 00
  can0  480   [7]  A0 02 5F 00 00 00 00
  can0  480   [7]  A0 02 5D 00 00 00 00
  can0  480   [7]  A0 02 16 01 00 00 00
  can0  480   [7]  A0 02 5E 00 00 00 00
  can0  480   [7]  A0 03 5F 00 00 00 00
  can0  480   [7]  A0 03 5D 00 00 00 00
  can0  480   [7]  A0 03 16 01 00 00 00
  can0  480   [7]  A0 03 5E 00 00 00 00
  can0  480   [7]  A0 04 5F 00 00 00 00
  can0  480   [7]  A0 04 5D 00 00 00 00
  can0  480   [7]  A0 04 16 01 00 00 00
  can0  480   [7]  A0 04 5E 00 00 00 00
  can0  480   [7]  A0 05 5F 00 00 00 00
  can0  480   [7]  A0 05 5D 00 00 00 00
  can0  480   [7]  A0 05 16 01 00 00 00
  can0  480   [7]  A0 05 5E 00 00 00 00
  can0  180   [7]  60 79 0C 00 D6 00 00
  can0  180   [7]  60 79 16 01 00 00 00
  can0  180   [7]  60 79 23 00 00 00 00
  can0  180   [7]  60 79 0E 01 8A 00 00
  can0  180   [7]  60 79 0D FE 70 00 00
  can0  180   [7]  60 79 10 00 31 00 01
  can0  180   [7]  60 79 5A 02 00 00 00
  can0  180   [7]  60 79 51 00 00 00 00
  can0  180   [7]  60 79 01 00 45 00 00
  can0  180   [7]  60 79 5E 80 00 00 00
  can0  180   [7]  60 79 53 00 00 00 00
  can0  180   [7]  60 79 09 26 17 00 00
  can0  180   [7]  60 79 0A 0E 08 16 07


Automatische up und down beim an- bzw. ausstecken des USB-Adapters via udev klapp wie folgt:
cat /etc/udev/rules.d/90-caninterface.rules
ACTION=="add", ENV{ID_MODEL}=="candleLight_USB_to_CAN_adapter", RUN+="/sbin/ip link set dev can0 up type can bitrate 20000"
ACTION=="remove", ENV{ID_MODEL}=="candleLight_USB_to_CAN_adapter", RUN+="/sbin/ip link set dev can0 down"


Ich schliesse daraus nun mal, dass ich alle korrekt angeschlossen habe und ich nun den Wrapper installieren muss welcher alles sinnvoll für FHEM übersetzt.

Kann mir da irgendjemand etwas etwas auf die Sprünge helfen.

Gruss
tomix

tomix

#1
Bin weiter gekommen. Das Programm gibt es da:
http://juerg5524.ch/list_data.php

can_progs.zip (http://juerg5524.ch/data/can_progs.zip) runterladen. Anschliessend wie unter fhem/50_Elster.pm beschrieben vorgehen. Also folgende Dateien nach /opt/fhem/FHEM kopieren:
50_Elster.pm
elster_perl.pm
elster_perl.so

Dann ein
define Stiebel Elster can0
und das neue Device bietet die Möglichkeit mit get die entsprechenden Werte abzufragen. Die Readings tauchen dann nach und nach auf (ich vermute sobald die entsprechende Info über den Bus geht).

Das wichtigste fehlt mir nun noch, die Warmwassertemperatur. Ich würde diese gerne runter setzen falls die PV wenig Strom liefert und hoch falls viel Strom vom Dach kommt.

Ich wollte mal ein Reading für den Betriebsstatus ergänzen, wie hier https://forum.fhem.de/index.php/topic,42248.75.html
von intershopper beschrieben (ebenfalls für eine WPL13):

{ "BETRIEBS_STATUS"                                  , 0x0176, 0},
{ "INFO_TYP"                                         , 0x019c, 0},


Die 50_Elster.pm sieht aber wie folgt aus:

...
my %Elster_gets = (
  "BUSFEHLER"   => { EIdx => "0a26", ID => "000" } ,
  "SPEICHERSOLLTEMP"   => { EIdx => "0003", ID => "180" } ,
  "VORLAUFSOLLTEMP"   => { EIdx => "0004", ID => "180" } ,
  "AUSSENTEMP"   => { EIdx => "000c", ID => "180" } ,
  "SAMMLERISTTEMP"   => { EIdx => "000d", ID => "180" } ,
  "SPEICHERISTTEMP"   => { EIdx => "000e", ID => "180" } ,
  "VORLAUFISTTEMP"   => { EIdx => "000f", ID => "180" } ,
...


Gruss
tomix

tomix

#2
Scan der Werte funktioniert zügig. Magels comfortsoft.exe (und dann auch Windows) ist der nächste beschrieben Schritt allerdings nicht möglich.

Leider musste ich auch feststellen., dass die CAN-Bus-Verbindung nach einiger Zeit abbricht.
FHEM ist immer noch der Meinung "connted", aber die Werte werden nicht mehr aktuallisiert und bei einer manuellen Abfrage wird nur ein "?" zurück gemeldet.

Nur ein aus- und wieder einstecken (Device down und up) UND ein restart von FHEM half.

Gruss
tomix

tomix

Nun mal ein Logdatei erstellt:
./can_scan can0 680 180 | tee ../log_can_scan.log

Mangels Comfortsoft mal weiter gemacht ohne diese:

./can_progs/fhem/log_analize log_can_scan.log

File 'fhem_tab.inc' saved

cat fhem_tab.inc
my %Elster_sets = (
  "EINSTELL_SPEICHERSOLLTEMP"   => { EIdx => "0013", ID => "180" } ,
  "PROGRAMMSCHALTER"   => { EIdx => "0112", ID => "180" } ,
  "FERIENANFANG_TAG"   => { EIdx => "011b", ID => "180" } ,
  "FERIENANFANG_MONAT"   => { EIdx => "011c", ID => "180" } ,
  "FERIENANFANG_JAHR"   => { EIdx => "011d", ID => "180" } ,
  "FERIENENDE_TAG"   => { EIdx => "011e", ID => "180" } ,
  "FERIENENDE_MONAT"   => { EIdx => "011f", ID => "180" } ,
  "FERIENENDE_JAHR"   => { EIdx => "0120", ID => "180" } ,
  "TAG"   => { EIdx => "0122", ID => "180" } ,
  "MONAT"   => { EIdx => "0123", ID => "180" } ,
  "JAHR"   => { EIdx => "0124", ID => "180" } ,
  "STUNDE"   => { EIdx => "0125", ID => "180" } ,
  "MINUTE"   => { EIdx => "0126", ID => "180" } ,
  "SEKUNDE"   => { EIdx => "0127", ID => "180" } ,
  "WW_ECO"   => { EIdx => "027e", ID => "180" } ,
  "EINSTELL_SPEICHERSOLLTEMP2"   => { EIdx => "0a06", ID => "180" } ,
  "W_WASSERPROG_1_MO"   => { EIdx => "1710", ID => "180" } ,
  "W_WASSERPROG_1_MO_SCHALT_2"   => { EIdx => "1711", ID => "180" } ,
  "W_WASSERPROG_1_MO_SCHALT_3"   => { EIdx => "1712", ID => "180" } ,
  "W_WASSERPROG_1_DI"   => { EIdx => "1720", ID => "180" } ,
  "W_WASSERPROG_1_DI_SCHALT_2"   => { EIdx => "1721", ID => "180" } ,
  "W_WASSERPROG_1_DI_SCHALT_3"   => { EIdx => "1722", ID => "180" } ,
  "W_WASSERPROG_1_MI"   => { EIdx => "1730", ID => "180" } ,
  "W_WASSERPROG_1_MI_SCHALT_2"   => { EIdx => "1731", ID => "180" } ,
  "W_WASSERPROG_1_MI_SCHALT_3"   => { EIdx => "1732", ID => "180" } ,
  "W_WASSERPROG_1_DO"   => { EIdx => "1740", ID => "180" } ,
  "W_WASSERPROG_1_DO_SCHALT_2"   => { EIdx => "1741", ID => "180" } ,
  "W_WASSERPROG_1_DO_SCHALT_3"   => { EIdx => "1742", ID => "180" } ,
  "W_WASSERPROG_1_FR"   => { EIdx => "1750", ID => "180" } ,
  "W_WASSERPROG_1_FR_SCHALT_2"   => { EIdx => "1751", ID => "180" } ,
  "W_WASSERPROG_1_FR_SCHALT_3"   => { EIdx => "1752", ID => "180" } ,
  "W_WASSERPROG_1_SA"   => { EIdx => "1760", ID => "180" } ,
  "W_WASSERPROG_1_SA_SCHALT_2"   => { EIdx => "1761", ID => "180" } ,
  "W_WASSERPROG_1_SA_SCHALT_3"   => { EIdx => "1762", ID => "180" } ,
  "W_WASSERPROG_1_SO"   => { EIdx => "1770", ID => "180" } ,
  "W_WASSERPROG_1_SO_SCHALT_2"   => { EIdx => "1771", ID => "180" } ,
  "W_WASSERPROG_1_SO_SCHALT_3"   => { EIdx => "1772", ID => "180" } ,
  "SOMMERBETRIEB"   => { EIdx => "fdb4", ID => "180" }
);

my %Elster_gets = (
  "FEHLERMELDUNG"   => { EIdx => "0001", ID => "180" } ,
  "KESSELSOLLTEMP"   => { EIdx => "0002", ID => "180" } ,
  "SPEICHERSOLLTEMP"   => { EIdx => "0003", ID => "180" } ,
  "VORLAUFSOLLTEMP"   => { EIdx => "0004", ID => "180" } ,
  "RAUMSOLLTEMP_II"   => { EIdx => "0006", ID => "180" } ,
  "UHRZEIT"   => { EIdx => "0009", ID => "180" } ,
  "DATUM"   => { EIdx => "000a", ID => "180" } ,
  "GERAETE_ID"   => { EIdx => "000b", ID => "180" } ,
  "AUSSENTEMP"   => { EIdx => "000c", ID => "180" } ,
  "SAMMLERISTTEMP"   => { EIdx => "000d", ID => "180" } ,
  "SPEICHERISTTEMP"   => { EIdx => "000e", ID => "180" } ,
  "VORLAUFISTTEMP"   => { EIdx => "000f", ID => "180" } ,
  "GERAETEKONFIGURATION"   => { EIdx => "0010", ID => "180" } ,
  "EINSTELL_SPEICHERSOLLTEMP"   => { EIdx => "0013", ID => "180" } ,
  "RUECKLAUFISTTEMP"   => { EIdx => "0016", ID => "180" } ,
  "HYSTERESEZEIT"   => { EIdx => "0022", ID => "180" } ,
  "SPERRZEIT"   => { EIdx => "0026", ID => "180" } ,
  "TN"   => { EIdx => "002b", ID => "180" } ,
  "ACCESS_EEPROM"   => { EIdx => "0030", ID => "180" } ,
  "SPEICHER_STATUS"   => { EIdx => "005a", ID => "180" } ,
  "INITIALISIERUNG"   => { EIdx => "00fe", ID => "180" } ,
  "CODENUMMER"   => { EIdx => "010d", ID => "180" } ,
  "HZK_KURVENABSTAND"   => { EIdx => "0111", ID => "180" } ,
  "PROGRAMMSCHALTER"   => { EIdx => "0112", ID => "180" } ,
  "FERIENANFANG_TAG"   => { EIdx => "011b", ID => "180" } ,
  "FERIENANFANG_MONAT"   => { EIdx => "011c", ID => "180" } ,
  "FERIENANFANG_JAHR"   => { EIdx => "011d", ID => "180" } ,
  "FERIENENDE_TAG"   => { EIdx => "011e", ID => "180" } ,
  "FERIENENDE_MONAT"   => { EIdx => "011f", ID => "180" } ,
  "FERIENENDE_JAHR"   => { EIdx => "0120", ID => "180" } ,
  "WOCHENTAG"   => { EIdx => "0121", ID => "180" } ,
  "TAG"   => { EIdx => "0122", ID => "180" } ,
  "MONAT"   => { EIdx => "0123", ID => "180" } ,
  "JAHR"   => { EIdx => "0124", ID => "180" } ,
  "STUNDE"   => { EIdx => "0125", ID => "180" } ,
  "MINUTE"   => { EIdx => "0126", ID => "180" } ,
  "SEKUNDE"   => { EIdx => "0127", ID => "180" } ,
  "WARMWASSERMODE"   => { EIdx => "0135", ID => "180" } ,
  "KESSELSOLLTEMP_2WE"   => { EIdx => "0137", ID => "180" } ,
  "MAX_WW_TEMP"   => { EIdx => "0181", ID => "180" } ,
  "BIVALENTPARALLELTEMPERATUR_HZG"   => { EIdx => "01ac", ID => "180" } ,
  "BIVALENTPARALLELTEMPERATUR_WW"   => { EIdx => "01ad", ID => "180" } ,
  "BIVALENZALTERNATIVTEMPERATUR_HZG"   => { EIdx => "01ae", ID => "180" } ,
  "BIVALENZALTERNATIVTEMPERATUR_WW"   => { EIdx => "01af", ID => "180" } ,
  "QUELLENSOLLTEMPERATUR"   => { EIdx => "01b0", ID => "180" } ,
  "SOLLTEMP_ANZEIGE_0_1"   => { EIdx => "01b1", ID => "180" } ,
  "SOLLTEMP_ANZEIGE_0_2"   => { EIdx => "01b2", ID => "180" } ,
  "SOLLTEMP_ANZEIGE_0_3"   => { EIdx => "01b3", ID => "180" } ,
  "SOLLTEMP_ANZEIGE_1_1"   => { EIdx => "01b4", ID => "180" } ,
  "SOLLTEMP_ANZEIGE_1_2"   => { EIdx => "01b5", ID => "180" } ,
  "SOLLTEMP_ANZEIGE_1_3"   => { EIdx => "01b6", ID => "180" } ,
  "AUSSENTEMPERATUR_WARMWASSER"   => { EIdx => "01b7", ID => "180" } ,
  "SOLARDIFFERENZ"   => { EIdx => "01b8", ID => "180" } ,
  "SOLARTEMP_MAX"   => { EIdx => "01b9", ID => "180" } ,
  "SW_AUSSENTEMP"   => { EIdx => "01bf", ID => "180" } ,
  "LAUFZEIT_WP1"   => { EIdx => "01c4", ID => "180" } ,
  "LAUFZEIT_2WE"   => { EIdx => "01cb", ID => "180" } ,
  "QUELLE_IST"   => { EIdx => "01d4", ID => "180" } ,
  "PUFFERSOLL"   => { EIdx => "01d5", ID => "180" } ,
  "WPVORLAUFIST"   => { EIdx => "01d6", ID => "180" } ,
  "HILFSKESSELSOLL"   => { EIdx => "01d7", ID => "180" } ,
  "FUEHLER_1"   => { EIdx => "01d8", ID => "180" } ,
  "FUEHLER_2"   => { EIdx => "01d9", ID => "180" } ,
  "MAX_HEIZUNG_TEMP"   => { EIdx => "01e8", ID => "180" } ,
  "WW_ECO"   => { EIdx => "027e", ID => "180" } ,
  "AUSSEN_FROSTTEMP"   => { EIdx => "0a00", ID => "180" } ,
  "EINSTELL_SPEICHERSOLLTEMP2"   => { EIdx => "0a06", ID => "180" } ,
  "FEHLERFELD_0"   => { EIdx => "0b00", ID => "180" } ,
  "FEHLERFELD_1"   => { EIdx => "0b01", ID => "180" } ,
  "FEHLERFELD_2"   => { EIdx => "0b02", ID => "180" } ,
  "FEHLERFELD_3"   => { EIdx => "0b03", ID => "180" } ,
  "FEHLERFELD_4"   => { EIdx => "0b04", ID => "180" } ,
  "FEHLERFELD_5"   => { EIdx => "0b05", ID => "180" } ,
  "FEHLERFELD_6"   => { EIdx => "0b06", ID => "180" } ,
  "FEHLERFELD_7"   => { EIdx => "0b07", ID => "180" } ,
  "FEHLERFELD_8"   => { EIdx => "0b08", ID => "180" } ,
  "FEHLERFELD_9"   => { EIdx => "0b09", ID => "180" } ,
  "FEHLERFELD_10"   => { EIdx => "0b0a", ID => "180" } ,
  "FEHLERFELD_11"   => { EIdx => "0b0b", ID => "180" } ,
  "FEHLERFELD_12"   => { EIdx => "0b0c", ID => "180" } ,
  "FEHLERFELD_13"   => { EIdx => "0b0d", ID => "180" } ,
  "FEHLERFELD_14"   => { EIdx => "0b0e", ID => "180" } ,
  "FEHLERFELD_15"   => { EIdx => "0b0f", ID => "180" } ,
  "FEHLERFELD_16"   => { EIdx => "0b10", ID => "180" } ,
  "FEHLERFELD_17"   => { EIdx => "0b11", ID => "180" } ,
  "FEHLERFELD_18"   => { EIdx => "0b12", ID => "180" } ,
  "FEHLERFELD_19"   => { EIdx => "0b13", ID => "180" } ,
  "FEHLERFELD_20"   => { EIdx => "0b14", ID => "180" } ,
  "FEHLERFELD_21"   => { EIdx => "0b15", ID => "180" } ,
  "FEHLERFELD_22"   => { EIdx => "0b16", ID => "180" } ,
  "FEHLERFELD_23"   => { EIdx => "0b17", ID => "180" } ,
  "FEHLERFELD_24"   => { EIdx => "0b18", ID => "180" } ,
  "FEHLERFELD_25"   => { EIdx => "0b19", ID => "180" } ,
  "FEHLERFELD_26"   => { EIdx => "0b1a", ID => "180" } ,
  "FEHLERFELD_27"   => { EIdx => "0b1b", ID => "180" } ,
  "FEHLERFELD_28"   => { EIdx => "0b1c", ID => "180" } ,
  "FEHLERFELD_29"   => { EIdx => "0b1d", ID => "180" } ,
  "FEHLERFELD_30"   => { EIdx => "0b1e", ID => "180" } ,
  "FEHLERFELD_31"   => { EIdx => "0b1f", ID => "180" } ,
  "FEHLERFELD_32"   => { EIdx => "0b20", ID => "180" } ,
  "FEHLERFELD_33"   => { EIdx => "0b21", ID => "180" } ,
  "FEHLERFELD_34"   => { EIdx => "0b22", ID => "180" } ,
  "FEHLERFELD_35"   => { EIdx => "0b23", ID => "180" } ,
  "FEHLERFELD_36"   => { EIdx => "0b24", ID => "180" } ,
  "FEHLERFELD_37"   => { EIdx => "0b25", ID => "180" } ,
  "FEHLERFELD_38"   => { EIdx => "0b26", ID => "180" } ,
  "FEHLERFELD_39"   => { EIdx => "0b27", ID => "180" } ,
  "FEHLERFELD_40"   => { EIdx => "0b28", ID => "180" } ,
  "FEHLERFELD_41"   => { EIdx => "0b29", ID => "180" } ,
  "FEHLERFELD_42"   => { EIdx => "0b2a", ID => "180" } ,
  "FEHLERFELD_43"   => { EIdx => "0b2b", ID => "180" } ,
  "FEHLERFELD_44"   => { EIdx => "0b2c", ID => "180" } ,
  "FEHLERFELD_45"   => { EIdx => "0b2d", ID => "180" } ,
  "FEHLERFELD_46"   => { EIdx => "0b2e", ID => "180" } ,
  "FEHLERFELD_47"   => { EIdx => "0b2f", ID => "180" } ,
  "FEHLERFELD_48"   => { EIdx => "0b30", ID => "180" } ,
  "FEHLERFELD_49"   => { EIdx => "0b31", ID => "180" } ,
  "FEHLERFELD_50"   => { EIdx => "0b32", ID => "180" } ,
  "FEHLERFELD_51"   => { EIdx => "0b33", ID => "180" } ,
  "FEHLERFELD_52"   => { EIdx => "0b34", ID => "180" } ,
  "FEHLERFELD_53"   => { EIdx => "0b35", ID => "180" } ,
  "FEHLERFELD_54"   => { EIdx => "0b36", ID => "180" } ,
  "FEHLERFELD_55"   => { EIdx => "0b37", ID => "180" } ,
  "FEHLERFELD_56"   => { EIdx => "0b38", ID => "180" } ,
  "FEHLERFELD_57"   => { EIdx => "0b39", ID => "180" } ,
  "FEHLERFELD_58"   => { EIdx => "0b3a", ID => "180" } ,
  "FEHLERFELD_59"   => { EIdx => "0b3b", ID => "180" } ,
  "FEHLERFELD_60"   => { EIdx => "0b3c", ID => "180" } ,
  "FEHLERFELD_61"   => { EIdx => "0b3d", ID => "180" } ,
  "FEHLERFELD_62"   => { EIdx => "0b3e", ID => "180" } ,
  "FEHLERFELD_63"   => { EIdx => "0b3f", ID => "180" } ,
  "FEHLERFELD_64"   => { EIdx => "0b40", ID => "180" } ,
  "FEHLERFELD_65"   => { EIdx => "0b41", ID => "180" } ,
  "FEHLERFELD_66"   => { EIdx => "0b42", ID => "180" } ,
  "FEHLERFELD_67"   => { EIdx => "0b43", ID => "180" } ,
  "FEHLERFELD_68"   => { EIdx => "0b44", ID => "180" } ,
  "FEHLERFELD_69"   => { EIdx => "0b45", ID => "180" } ,
  "FEHLERFELD_70"   => { EIdx => "0b46", ID => "180" } ,
  "FEHLERFELD_71"   => { EIdx => "0b47", ID => "180" } ,
  "FEHLERFELD_72"   => { EIdx => "0b48", ID => "180" } ,
  "FEHLERFELD_73"   => { EIdx => "0b49", ID => "180" } ,
  "FEHLERFELD_74"   => { EIdx => "0b4a", ID => "180" } ,
  "FEHLERFELD_75"   => { EIdx => "0b4b", ID => "180" } ,
  "FEHLERFELD_76"   => { EIdx => "0b4c", ID => "180" } ,
  "FEHLERFELD_77"   => { EIdx => "0b4d", ID => "180" } ,
  "FEHLERFELD_78"   => { EIdx => "0b4e", ID => "180" } ,
  "FEHLERFELD_79"   => { EIdx => "0b4f", ID => "180" } ,
  "FEHLERFELD_80"   => { EIdx => "0b50", ID => "180" } ,
  "FEHLERFELD_81"   => { EIdx => "0b51", ID => "180" } ,
  "FEHLERFELD_82"   => { EIdx => "0b52", ID => "180" } ,
  "FEHLERFELD_83"   => { EIdx => "0b53", ID => "180" } ,
  "FEHLERFELD_84"   => { EIdx => "0b54", ID => "180" } ,
  "FEHLERFELD_85"   => { EIdx => "0b55", ID => "180" } ,
  "FEHLERFELD_86"   => { EIdx => "0b56", ID => "180" } ,
  "FEHLERFELD_87"   => { EIdx => "0b57", ID => "180" } ,
  "FEHLERFELD_88"   => { EIdx => "0b58", ID => "180" } ,
  "FEHLERFELD_89"   => { EIdx => "0b59", ID => "180" } ,
  "FEHLERFELD_90"   => { EIdx => "0b5a", ID => "180" } ,
  "FEHLERFELD_91"   => { EIdx => "0b5b", ID => "180" } ,
  "FEHLERFELD_92"   => { EIdx => "0b5c", ID => "180" } ,
  "FEHLERFELD_93"   => { EIdx => "0b5d", ID => "180" } ,
  "FEHLERFELD_94"   => { EIdx => "0b5e", ID => "180" } ,
  "FEHLERFELD_95"   => { EIdx => "0b5f", ID => "180" } ,
  "FEHLERFELD_96"   => { EIdx => "0b60", ID => "180" } ,
  "FEHLERFELD_97"   => { EIdx => "0b61", ID => "180" } ,
  "FEHLERFELD_98"   => { EIdx => "0b62", ID => "180" } ,
  "FEHLERFELD_99"   => { EIdx => "0b63", ID => "180" } ,
  "FEHLERFELD_100"   => { EIdx => "0b64", ID => "180" } ,
  "FEHLERFELD_101"   => { EIdx => "0b65", ID => "180" } ,
  "FEHLERFELD_102"   => { EIdx => "0b66", ID => "180" } ,
  "FEHLERFELD_103"   => { EIdx => "0b67", ID => "180" } ,
  "FEHLERFELD_104"   => { EIdx => "0b68", ID => "180" } ,
  "FEHLERFELD_105"   => { EIdx => "0b69", ID => "180" } ,
  "FEHLERFELD_106"   => { EIdx => "0b6a", ID => "180" } ,
  "FEHLERFELD_107"   => { EIdx => "0b6b", ID => "180" } ,
  "FEHLERFELD_108"   => { EIdx => "0b6c", ID => "180" } ,
  "FEHLERFELD_109"   => { EIdx => "0b6d", ID => "180" } ,
  "FEHLERFELD_110"   => { EIdx => "0b6e", ID => "180" } ,
  "FEHLERFELD_111"   => { EIdx => "0b6f", ID => "180" } ,
  "FEHLERFELD_112"   => { EIdx => "0b70", ID => "180" } ,
  "FEHLERFELD_113"   => { EIdx => "0b71", ID => "180" } ,
  "FEHLERFELD_114"   => { EIdx => "0b72", ID => "180" } ,
  "FEHLERFELD_115"   => { EIdx => "0b73", ID => "180" } ,
  "FEHLERFELD_116"   => { EIdx => "0b74", ID => "180" } ,
  "FEHLERFELD_117"   => { EIdx => "0b75", ID => "180" } ,
  "FEHLERFELD_118"   => { EIdx => "0b76", ID => "180" } ,
  "FEHLERFELD_119"   => { EIdx => "0b77", ID => "180" } ,
  "FEHLERFELD_120"   => { EIdx => "0b78", ID => "180" } ,
  "FEHLERFELD_121"   => { EIdx => "0b79", ID => "180" } ,
  "FEHLERFELD_122"   => { EIdx => "0b7a", ID => "180" } ,
  "FEHLERFELD_123"   => { EIdx => "0b7b", ID => "180" } ,
  "FEHLERFELD_124"   => { EIdx => "0b7c", ID => "180" } ,
  "FEHLERFELD_125"   => { EIdx => "0b7d", ID => "180" } ,
  "FEHLERFELD_126"   => { EIdx => "0b7e", ID => "180" } ,
  "FEHLERFELD_127"   => { EIdx => "0b7f", ID => "180" } ,
  "FEHLERFELD_128"   => { EIdx => "0b80", ID => "180" } ,
  "FEHLERFELD_129"   => { EIdx => "0b81", ID => "180" } ,
  "FEHLERFELD_130"   => { EIdx => "0b82", ID => "180" } ,
  "FEHLERFELD_131"   => { EIdx => "0b83", ID => "180" } ,
  "FEHLERFELD_132"   => { EIdx => "0b84", ID => "180" } ,
  "FEHLERFELD_133"   => { EIdx => "0b85", ID => "180" } ,
  "FEHLERFELD_134"   => { EIdx => "0b86", ID => "180" } ,
  "FEHLERFELD_135"   => { EIdx => "0b87", ID => "180" } ,
  "FEHLERFELD_136"   => { EIdx => "0b88", ID => "180" } ,
  "FEHLERFELD_137"   => { EIdx => "0b89", ID => "180" } ,
  "FEHLERFELD_138"   => { EIdx => "0b8a", ID => "180" } ,
  "FEHLERFELD_139"   => { EIdx => "0b8b", ID => "180" } ,
  "W_WASSERPROG_1_MO"   => { EIdx => "1710", ID => "180" } ,
  "W_WASSERPROG_1_MO_SCHALT_2"   => { EIdx => "1711", ID => "180" } ,
  "W_WASSERPROG_1_MO_SCHALT_3"   => { EIdx => "1712", ID => "180" } ,
  "W_WASSERPROG_1_DI"   => { EIdx => "1720", ID => "180" } ,
  "W_WASSERPROG_1_DI_SCHALT_2"   => { EIdx => "1721", ID => "180" } ,
  "W_WASSERPROG_1_DI_SCHALT_3"   => { EIdx => "1722", ID => "180" } ,
  "W_WASSERPROG_1_MI"   => { EIdx => "1730", ID => "180" } ,
  "W_WASSERPROG_1_MI_SCHALT_2"   => { EIdx => "1731", ID => "180" } ,
  "W_WASSERPROG_1_MI_SCHALT_3"   => { EIdx => "1732", ID => "180" } ,
  "W_WASSERPROG_1_DO"   => { EIdx => "1740", ID => "180" } ,
  "W_WASSERPROG_1_DO_SCHALT_2"   => { EIdx => "1741", ID => "180" } ,
  "W_WASSERPROG_1_DO_SCHALT_3"   => { EIdx => "1742", ID => "180" } ,
  "W_WASSERPROG_1_FR"   => { EIdx => "1750", ID => "180" } ,
  "W_WASSERPROG_1_FR_SCHALT_2"   => { EIdx => "1751", ID => "180" } ,
  "W_WASSERPROG_1_FR_SCHALT_3"   => { EIdx => "1752", ID => "180" } ,
  "W_WASSERPROG_1_SA"   => { EIdx => "1760", ID => "180" } ,
  "W_WASSERPROG_1_SA_SCHALT_2"   => { EIdx => "1761", ID => "180" } ,
  "W_WASSERPROG_1_SA_SCHALT_3"   => { EIdx => "1762", ID => "180" } ,
  "W_WASSERPROG_1_SO"   => { EIdx => "1770", ID => "180" } ,
  "W_WASSERPROG_1_SO_SCHALT_2"   => { EIdx => "1771", ID => "180" } ,
  "W_WASSERPROG_1_SO_SCHALT_3"   => { EIdx => "1772", ID => "180" } ,
  "FEHLERANZAHL"   => { EIdx => "fda8", ID => "180" } ,
  "WP_STATUS"   => { EIdx => "fdae", ID => "180" } ,
  "SCHALTWERKDYNAMIKZEIT"   => { EIdx => "fdb0", ID => "180" } ,
  "STILLSTANDZEIT"   => { EIdx => "fdb1", ID => "180" } ,
  "PUMPENZYKLEN"   => { EIdx => "fdb2", ID => "180" } ,
  "GEBAEUDEART"   => { EIdx => "fdb3", ID => "180" } ,
  "SOMMERBETRIEB"   => { EIdx => "fdb4", ID => "180" } ,
  "WAERMEMENGE"   => { EIdx => "fdb8", ID => "180" } ,
  "ZWEITER_WE_STATUS"   => { EIdx => "fdba", ID => "180" },
  "BETRIEBS_STATUS"   => { EIdx =>"0176", ID => "180" },
  "INFO_TYP"   => { EIdx => "019c", ID => "180" }
);


BETRIEBS_STATUS und INFO_TYP folgt nicht aus der Logdatei sonder aus einem Hinweis hier:
https://forum.fhem.de/index.php/topic,42248.180.html


"   => { EIdx => "019c", ID => "180" }

BETRIEBS_Statusetriebs Satus und Info Typ noch anDazu dann noch die

  "SOMMERBETRIEB"   => { EIdx => "fdb4", ID => "180" } ,
  "WAERMEMENGE"   => { EIdx => "fdb8", ID => "180" } ,
  "ZWEITER_WE_STATUS"   => { EIdx => "fdba", ID => "180" },
  "BETRIEBS_STATUS"   => { EIdx =>"0176", ID => "180" },
  "INFO_TYP"   => { EIdx => "019c", ID => "180" }
);

Damit die 50_Elstercd ./can_progs/fhem/
./log_analize ../../log_can_scan.log

In FHEM dann ein

reload 50_Elster


Da bei einem get immer wieder mal ein «?» als Antwort, USB-Kabel rein und raus und dann noch FHEM neugestartet bis wieder ein Wert ankam.

Mal gucken ob ich das irgendwann mal stabil zum laufen bringe.

Gruss
tomix

tomix

Nach einiger Zeit liefert ein get nur noch ein «?». Ein «shutdown restart» von FHEM löst das Problem. Ich gehe daher davon aus, dass etwas mit dem Modul 50_Elster.pm nicht stimmt. Den Code verstehe ich allerdings noch nicht und die Hilfe am Ende der Datei wird in FHEM nicht ausgegeben (Aufbau der Datei sieht aber i.O. aus).

In der Logdatei steht:

2022.08.24 10:15:00 3: FHEMWEB WEB CSRF error: csrf_778079514385466 ne csrf_550385235749278 for client WEB_192.168.178.42_59596 / command get Stiebel AUSSENTEMP 13.7. For details see the csrfToken FHEMWEB attribute.
2022.08.24 10:15:02 3: getstring(680 180 000c): ?


Muss mich wohl mal durch den Code arbeiten bis ich den Sinn von INTERVALL usw. verstehe.

Gruss
tomix