Stiebel-Eltron mit CAN-Bus unter Verwendung eines C++-Wrappers

Begonnen von juerg5524, 14 Oktober 2015, 13:43:31

Vorheriges Thema - Nächstes Thema

tomix

#180
Zitat von: juerg5524 am 18 August 2022, 15:29:26
ComfortSoft läuft nicht unter Wine, leider.
Wann hast du das zum letzten mal probiert? Aber zuerst müsste man mal die Software haben. Dann würde ich nochmals einen Versuch machen und ansonsten irgend eine virtuelle Maschine nehmen und irgend ein Windows auftreiben.

Ich habe aber noch ein paar grundlegende Verständnisfragen. Das hier habe ich mal gemacht:
https://forum.fhem.de/index.php/topic,128767.0.html

Dazu noch ein:

./can_scan can0 680 180 | tee ../log_can_scan.log


Die Datei ist weiter unten als Code-Block eingebunden.

Zur 50_Elster.pm habe ich dann noch folgendes dazu gefügt:

  "BETRIEBS_STATUS"   => { EIdx =>"0176", ID => "180" },
  "INFO_TYP"   => { EIdx => "019c", ID => "180" },

was auch funktioniert.

Diverse Werte führen bei einem get zu einen «?». Ich nehme an diese stehen einfach nicht zur Verfügung bei unserer Wärmepumpe (also wird keine Antwort erfolgen). Eine automatischen Abfrage alle 10 Sekunden (Standardintervall) erfolgt ebenfalls nicht. Wie könnte ich das Intervall erhöhen? Ich vermute mal die vielen «?» brauchen da mehr Zeit, somit sollte die get Liste bereinigt werden.

Stimmt meine Annahme, dass mindestens die Werte aus der Log-Datei funktionieren? Wie kommt man zu den anderen die es noch gibt? Also z.B. "BETRIEBS_STATUS" und "INFO_TYP"?

Via Comfortsoft käme ich dann noch zu den passenden set Befehlen, oder?

Wie loggt man einfach alles, was über den Bus läuft? Z.B. könnte ich mit loggen lassen und dann via WPMII ein Reset der IWS durchführen, dann müsste ich das entsprechende Kommando dafür doch sehen.

Die Hilfe am Schluss der 50_Elster.pm wird in FHEM nicht ausgegeben/erkannt, wieso? Stimmt da noch was grundlegendes nicht?

Danke für die Grundlagenarbeit von dir. Ich dachte schon ich finde gar keine Lösung, um die WP irgendwie sinnvoll einbinden und evtl. sogar steuern zu können.

Gruss
tomix

elster-kromschroeder can-bus address scanner and test utility
copyright (c) 2014 Jürg Müller, CH-5524

  { 0x180, 0x0001, 0x0045},  // FEHLERMELDUNG: 69
  { 0x180, 0x0002, 0x0032},  // KESSELSOLLTEMP: 5.0
  { 0x180, 0x0003, 0x01a4},  // SPEICHERSOLLTEMP: 42.0
  { 0x180, 0x0004, 0x0032},  // VORLAUFSOLLTEMP: 5.0
  { 0x180, 0x0005, 0x00c8},  // RAUMSOLLTEMP_I: 20.0
  { 0x180, 0x0006, 0x00c8},  // RAUMSOLLTEMP_II: 20.0
  { 0x180, 0x0007, 0x00c8},  // RAUMSOLLTEMP_III: 20.0
  { 0x180, 0x0008, 0x0096},  // RAUMSOLLTEMP_NACHT: 15.0
  { 0x180, 0x0009, 0x0917},  // UHRZEIT: 23:09
  { 0x180, 0x000a, 0x1008},  // DATUM: 16.08.
  { 0x180, 0x000b, 0xa507},  // GERAETE_ID: 165-07
  { 0x180, 0x000c, 0x00c6},  // AUSSENTEMP: 19.8
  { 0x180, 0x000d, 0xfe70},  // SAMMLERISTTEMP: -40.0
  { 0x180, 0x000e, 0x00dc},  // SPEICHERISTTEMP: 22.0
  { 0x180, 0x000f, 0xfe70},  // VORLAUFISTTEMP: -40.0
  { 0x180, 0x0010, 0x0031},  // GERAETEKONFIGURATION: 49
  { 0x180, 0x0013, 0x01f4},  // EINSTELL_SPEICHERSOLLTEMP: 50.0
  { 0x180, 0x0016, 0x00ed},  // RUECKLAUFISTTEMP: 23.7
  { 0x180, 0x0022, 0x001e},  // HYSTERESEZEIT: 3.0
  { 0x180, 0x0023, 0x0000},  // MAX_HYSTERESE: 0
  { 0x180, 0x0026, 0x0014},  // SPERRZEIT: 20
  { 0x180, 0x0028, 0x01f4},  // MAX_TEMP_KESSEL: 50.0
  { 0x180, 0x002b, 0x6400},  // TN: 100
  { 0x180, 0x0030, 0x0100},  // ACCESS_EEPROM: 1
  { 0x180, 0x0051, 0x0000},  // MULTIFUNKTION_ISTTEMP: 0.0
  { 0x180, 0x0053, 0x0000},  // HZK_PUMPE: 0
  { 0x180, 0x0058, 0x2e00},  // MISCHER_ZU: 46
  { 0x180, 0x0059, 0x0000},  // HEIZKREIS_STATUS: 0
  { 0x180, 0x005a, 0x0200},  // SPEICHER_STATUS: 2
  { 0x180, 0x0060, 0x0000},  // SCHALTFKT_IWS: 0
  { 0x180, 0x0063, 0x0000},  // KESSELSTATUS: 0
  { 0x180, 0x0064, 0x0000},  // SAMMLER_PUMPE: 0
  { 0x180, 0x00fe, 0x0100},  // INITIALISIERUNG: 1
  { 0x180, 0x0101, 0x0000},  // ANTILEGIONELLEN: 0
  { 0x180, 0x0109, 0x0000},  // RAUMFUEHLERKORREKTUR: 0
  { 0x180, 0x010d, 0x03e8},  // CODENUMMER: 1000
  { 0x180, 0x010e, 0x0037},  // HEIZKURVE: 0.55
  { 0x180, 0x010f, 0x0500},  // RAUMEINFLUSS: 1280
  { 0x180, 0x0111, 0x001e},  // HZK_KURVENABSTAND: 3.0
  { 0x180, 0x0112, 0x0200},  // PROGRAMMSCHALTER: Automatik
  { 0x180, 0x0113, 0x0000},  // SPRACHE: 0
  { 0x180, 0x011a, 0x0000},  // ESTRICHFUNKTION: 0
  { 0x180, 0x011b, 0x0100},  // FERIENANFANG_TAG: 1
  { 0x180, 0x011c, 0x0100},  // FERIENANFANG_MONAT: 1
  { 0x180, 0x011d, 0x0500},  // FERIENANFANG_JAHR: 5
  { 0x180, 0x011e, 0x0100},  // FERIENENDE_TAG: 1
  { 0x180, 0x011f, 0x0100},  // FERIENENDE_MONAT: 1
  { 0x180, 0x0120, 0x0500},  // FERIENENDE_JAHR: 5
  { 0x180, 0x0121, 0x0200},  // WOCHENTAG: 2
  { 0x180, 0x0122, 0x1000},  // TAG: 16
  { 0x180, 0x0123, 0x0800},  // MONAT: 8
  { 0x180, 0x0124, 0x1600},  // JAHR: 22
  { 0x180, 0x0125, 0x1700},  // STUNDE: 23
  { 0x180, 0x0126, 0x0900},  // MINUTE: 9
  { 0x180, 0x0127, 0x2900},  // SEKUNDE: 41
  { 0x180, 0x0135, 0x0100},  // WARMWASSERMODE: 1
  { 0x180, 0x0137, 0x02bc},  // KESSELSOLLTEMP_2WE: 70.0
  { 0x180, 0x0181, 0x028a},  // MAX_WW_TEMP: 65.0
  { 0x180, 0x0183, 0x0000},  // FERNBEDIENUNGSZUORDNUNG: 0
  { 0x180, 0x01ac, 0xff38},  // BIVALENTPARALLELTEMPERATUR_HZG: -20.0
  { 0x180, 0x01ad, 0xffce},  // BIVALENTPARALLELTEMPERATUR_WW: -5.0
  { 0x180, 0x01ae, 0xff38},  // BIVALENZALTERNATIVTEMPERATUR_HZG: -20.0
  { 0x180, 0x01af, 0xff38},  // BIVALENZALTERNATIVTEMPERATUR_WW: -20.0
  { 0x180, 0x01b0, 0xffce},  // QUELLENSOLLTEMPERATUR: -5.0
  { 0x180, 0x01b1, 0x000b},  // SOLLTEMP_ANZEIGE_0_1: 11
  { 0x180, 0x01b2, 0x0017},  // SOLLTEMP_ANZEIGE_0_2: 23
  { 0x180, 0x01b3, 0x001f},  // SOLLTEMP_ANZEIGE_0_3: 31
  { 0x180, 0x01b4, 0x0014},  // SOLLTEMP_ANZEIGE_1_1: 20
  { 0x180, 0x01b5, 0x0018},  // SOLLTEMP_ANZEIGE_1_2: 24
  { 0x180, 0x01b6, 0x001a},  // SOLLTEMP_ANZEIGE_1_3: 26
  { 0x180, 0x01b7, 0x0032},  // AUSSENTEMPERATUR_WARMWASSER: 5.0
  { 0x180, 0x01b8, 0x001e},  // SOLARDIFFERENZ: 3.0
  { 0x180, 0x01b9, 0x0258},  // SOLARTEMP_MAX: 60.0
  { 0x180, 0x01ba, 0x0001},  // ESTRICH_STEIGUNG_PRO_TAG: 1
  { 0x180, 0x01bb, 0x00fa},  // ESTRICH_SOCKELTEMPERATUR: 25.0
  { 0x180, 0x01bc, 0x0002},  // ESTRICH_HALTEN_SOCKELTEMPERATUR: 2
  { 0x180, 0x01bd, 0x0190},  // ESTRICH_MAX_TEMPERATUR: 40.0
  { 0x180, 0x01be, 0x0000},  // ESTRICH_HALTEN_MAX_TEMPERATUR: 0
  { 0x180, 0x01bf, 0x00c8},  // SW_AUSSENTEMP: 20.0
  { 0x180, 0x01c0, 0x0000},  // FESTWERT: 0
  { 0x180, 0x01c1, 0x0000},  // GESAMTERTRAG_WATT: 0
  { 0x180, 0x01c2, 0x0000},  // GESAMTERTRAG_KWATT: 0
  { 0x180, 0x01c3, 0x0000},  // GESAMTERTRAG_MWATT: 0
  { 0x180, 0x01c4, 0x2132},  // LAUFZEIT_WP1: 8498
  { 0x180, 0x01c5, 0x0000},  // LAUFZEIT_WP2: 0
  { 0x180, 0x01c6, 0x0000},  // LAUFZEIT_WP3: 0
  { 0x180, 0x01c7, 0x0000},  // LAUFZEIT_WP4: 0
  { 0x180, 0x01c8, 0x0000},  // LAUFZEIT_WP5: 0
  { 0x180, 0x01c9, 0x0000},  // LAUFZEIT_WP6: 0
  { 0x180, 0x01ca, 0x0000},  // LAUFZEIT_SOLAR: 0
  { 0x180, 0x01cb, 0x19f1},  // LAUFZEIT_2WE: 6641
  { 0x180, 0x01d4, 0xfe70},  // QUELLE_IST: -40.0
  { 0x180, 0x01d5, 0x0032},  // PUFFERSOLL: 5.0
  { 0x180, 0x01d6, 0x00f2},  // WPVORLAUFIST: 24.2
  { 0x180, 0x01d7, 0x0050},  // HILFSKESSELSOLL: 8.0
  { 0x180, 0x01d8, 0xfe70},  // FUEHLER_1: -40.0
  { 0x180, 0x01d9, 0xfe70},  // FUEHLER_2: -40.0
  { 0x180, 0x01da, 0x0000},  // VOLUMENSTROM: 0
  { 0x180, 0x01db, 0x0000},  // ERTRAG_AKT: 0
  { 0x180, 0x01dc, 0x0000},  // ERTRAG_TAG_W: 0
  { 0x180, 0x01dd, 0x0000},  // ERTRAG_TAG_KW: 0
  { 0x180, 0x01e8, 0x023a},  // MAX_HEIZUNG_TEMP: 57.0
  { 0x180, 0x027e, 0x0001},  // WW_ECO: on
  { 0x180, 0x0a00, 0x0028},  // AUSSEN_FROSTTEMP: 4.0
  { 0x180, 0x0a06, 0x01a4},  // EINSTELL_SPEICHERSOLLTEMP2: 42.0
  { 0x180, 0x0b00, 0x0019},  // FEHLERFELD_0: 25
  { 0x180, 0x0b01, 0x0014},  // FEHLERFELD_1: 20
  { 0x180, 0x0b02, 0x0003},  // FEHLERFELD_2: 3
  { 0x180, 0x0b03, 0x0008},  // FEHLERFELD_3: 8
  { 0x180, 0x0b04, 0x0016},  // FEHLERFELD_4: 22
  { 0x180, 0x0b05, 0x0004},  // FEHLERFELD_5: 5
  { 0x180, 0x0b06, 0x0001},  // FEHLERFELD_6: ERR 1
  { 0x180, 0x0b07, 0x0003},  // FEHLERFELD_7: 3
  { 0x180, 0x0b08, 0x0009},  // FEHLERFELD_8: 9
  { 0x180, 0x0b09, 0x0004},  // FEHLERFELD_9: 4
  { 0x180, 0x0b0a, 0x0008},  // FEHLERFELD_10: 8
  { 0x180, 0x0b0b, 0x0016},  // FEHLERFELD_11: 22
  { 0x180, 0x0b0c, 0x0004},  // FEHLERFELD_12: 5
  { 0x180, 0x0b0d, 0x0001},  // FEHLERFELD_13: ERR 1
  { 0x180, 0x0b0e, 0x0004},  // FEHLERFELD_14: 4
  { 0x180, 0x0b0f, 0x0009},  // FEHLERFELD_15: 9
  { 0x180, 0x0b10, 0x0005},  // FEHLERFELD_16: 5
  { 0x180, 0x0b11, 0x0008},  // FEHLERFELD_17: 8
  { 0x180, 0x0b12, 0x0016},  // FEHLERFELD_18: 22
  { 0x180, 0x0b13, 0x0004},  // FEHLERFELD_19: 5
  { 0x180, 0x0b14, 0x0001},  // FEHLERFELD_20: ERR 1
  { 0x180, 0x0b15, 0x0025},  // FEHLERFELD_21: 37
  { 0x180, 0x0b16, 0x0009},  // FEHLERFELD_22: 9
  { 0x180, 0x0b17, 0x0005},  // FEHLERFELD_23: 5
  { 0x180, 0x0b18, 0x0008},  // FEHLERFELD_24: 8
  { 0x180, 0x0b19, 0x0016},  // FEHLERFELD_25: 22
  { 0x180, 0x0b1a, 0x0004},  // FEHLERFELD_26: 5
  { 0x180, 0x0b1b, 0x0001},  // FEHLERFELD_27: ERR 1
  { 0x180, 0x0b1c, 0x0007},  // FEHLERFELD_28: 7
  { 0x180, 0x0b1d, 0x000a},  // FEHLERFELD_29: 10
  { 0x180, 0x0b1e, 0x0005},  // FEHLERFELD_30: 5
  { 0x180, 0x0b1f, 0x0008},  // FEHLERFELD_31: 8
  { 0x180, 0x0b20, 0x0016},  // FEHLERFELD_32: 22
  { 0x180, 0x0b21, 0x0004},  // FEHLERFELD_33: 5
  { 0x180, 0x0b22, 0x0001},  // FEHLERFELD_34: ERR 1
  { 0x180, 0x0b23, 0x002a},  // FEHLERFELD_35: 42
  { 0x180, 0x0b24, 0x000a},  // FEHLERFELD_36: 10
  { 0x180, 0x0b25, 0x0005},  // FEHLERFELD_37: 5
  { 0x180, 0x0b26, 0x0008},  // FEHLERFELD_38: 8
  { 0x180, 0x0b27, 0x0016},  // FEHLERFELD_39: 22
  { 0x180, 0x0b28, 0x0004},  // FEHLERFELD_40: 5
  { 0x180, 0x0b29, 0x0001},  // FEHLERFELD_41: ERR 1
  { 0x180, 0x0b2a, 0x0003},  // FEHLERFELD_42: 3
  { 0x180, 0x0b2b, 0x0011},  // FEHLERFELD_43: 17
  { 0x180, 0x0b2c, 0x0005},  // FEHLERFELD_44: 5
  { 0x180, 0x0b2d, 0x0008},  // FEHLERFELD_45: 8
  { 0x180, 0x0b2e, 0x0016},  // FEHLERFELD_46: 22
  { 0x180, 0x0b2f, 0x0004},  // FEHLERFELD_47: 5
  { 0x180, 0x0b30, 0x0001},  // FEHLERFELD_48: ERR 1
  { 0x180, 0x0b31, 0x0006},  // FEHLERFELD_49: 6
  { 0x180, 0x0b32, 0x0009},  // FEHLERFELD_50: 9
  { 0x180, 0x0b33, 0x0006},  // FEHLERFELD_51: 6
  { 0x180, 0x0b34, 0x0008},  // FEHLERFELD_52: 8
  { 0x180, 0x0b35, 0x0016},  // FEHLERFELD_53: 22
  { 0x180, 0x0b36, 0x0004},  // FEHLERFELD_54: 5
  { 0x180, 0x0b37, 0x0001},  // FEHLERFELD_55: ERR 1
  { 0x180, 0x0b38, 0x000d},  // FEHLERFELD_56: 13
  { 0x180, 0x0b39, 0x0009},  // FEHLERFELD_57: 9
  { 0x180, 0x0b3a, 0x0007},  // FEHLERFELD_58: 7
  { 0x180, 0x0b3b, 0x0008},  // FEHLERFELD_59: 8
  { 0x180, 0x0b3c, 0x0016},  // FEHLERFELD_60: 22
  { 0x180, 0x0b3d, 0x0004},  // FEHLERFELD_61: 5
  { 0x180, 0x0b3e, 0x0001},  // FEHLERFELD_62: ERR 1
  { 0x180, 0x0b3f, 0x001b},  // FEHLERFELD_63: 27
  { 0x180, 0x0b40, 0x0010},  // FEHLERFELD_64: 16
  { 0x180, 0x0b41, 0x0007},  // FEHLERFELD_65: 7
  { 0x180, 0x0b42, 0x0008},  // FEHLERFELD_66: 8
  { 0x180, 0x0b43, 0x0016},  // FEHLERFELD_67: 22
  { 0x180, 0x0b44, 0x0004},  // FEHLERFELD_68: 5
  { 0x180, 0x0b45, 0x0001},  // FEHLERFELD_69: ERR 1
  { 0x180, 0x0b46, 0x0006},  // FEHLERFELD_70: 6
  { 0x180, 0x0b47, 0x0009},  // FEHLERFELD_71: 9
  { 0x180, 0x0b48, 0x0008},  // FEHLERFELD_72: 8
  { 0x180, 0x0b49, 0x0008},  // FEHLERFELD_73: 8
  { 0x180, 0x0b4a, 0x0016},  // FEHLERFELD_74: 22
  { 0x180, 0x0b4b, 0x0004},  // FEHLERFELD_75: 5
  { 0x180, 0x0b4c, 0x0001},  // FEHLERFELD_76: ERR 1
  { 0x180, 0x0b4d, 0x002e},  // FEHLERFELD_77: 46
  { 0x180, 0x0b4e, 0x000e},  // FEHLERFELD_78: 14
  { 0x180, 0x0b4f, 0x0008},  // FEHLERFELD_79: 8
  { 0x180, 0x0b50, 0x0008},  // FEHLERFELD_80: 8
  { 0x180, 0x0b51, 0x0016},  // FEHLERFELD_81: 22
  { 0x180, 0x0b52, 0x0004},  // FEHLERFELD_82: 5
  { 0x180, 0x0b53, 0x0001},  // FEHLERFELD_83: ERR 1
  { 0x180, 0x0b54, 0x0009},  // FEHLERFELD_84: 9
  { 0x180, 0x0b55, 0x0009},  // FEHLERFELD_85: 9
  { 0x180, 0x0b56, 0x000a},  // FEHLERFELD_86: 10
  { 0x180, 0x0b57, 0x0008},  // FEHLERFELD_87: 8
  { 0x180, 0x0b58, 0x0016},  // FEHLERFELD_88: 22
  { 0x180, 0x0b59, 0x0004},  // FEHLERFELD_89: 5
  { 0x180, 0x0b5a, 0x0001},  // FEHLERFELD_90: ERR 1
  { 0x180, 0x0b5b, 0x0016},  // FEHLERFELD_91: 22
  { 0x180, 0x0b5c, 0x0010},  // FEHLERFELD_92: 16
  { 0x180, 0x0b5d, 0x000a},  // FEHLERFELD_93: 10
  { 0x180, 0x0b5e, 0x0008},  // FEHLERFELD_94: 8
  { 0x180, 0x0b5f, 0x0016},  // FEHLERFELD_95: 22
  { 0x180, 0x0b60, 0x0004},  // FEHLERFELD_96: 5
  { 0x180, 0x0b61, 0x0001},  // FEHLERFELD_97: ERR 1
  { 0x180, 0x0b62, 0x0039},  // FEHLERFELD_98: 57
  { 0x180, 0x0b63, 0x0010},  // FEHLERFELD_99: 16
  { 0x180, 0x0b64, 0x000a},  // FEHLERFELD_100: 10
  { 0x180, 0x0b65, 0x0008},  // FEHLERFELD_101: 8
  { 0x180, 0x0b66, 0x0016},  // FEHLERFELD_102: 22
  { 0x180, 0x0b67, 0x0004},  // FEHLERFELD_103: 5
  { 0x180, 0x0b68, 0x0001},  // FEHLERFELD_104: ERR 1
  { 0x180, 0x0b69, 0x0016},  // FEHLERFELD_105: 22
  { 0x180, 0x0b6a, 0x000b},  // FEHLERFELD_106: 11
  { 0x180, 0x0b6b, 0x000b},  // FEHLERFELD_107: 11
  { 0x180, 0x0b6c, 0x0008},  // FEHLERFELD_108: 8
  { 0x180, 0x0b6d, 0x0016},  // FEHLERFELD_109: 22
  { 0x180, 0x0b6e, 0x0004},  // FEHLERFELD_110: 5
  { 0x180, 0x0b6f, 0x0001},  // FEHLERFELD_111: ERR 1
  { 0x180, 0x0b70, 0x002d},  // FEHLERFELD_112: 45
  { 0x180, 0x0b71, 0x000e},  // FEHLERFELD_113: 14
  { 0x180, 0x0b72, 0x000b},  // FEHLERFELD_114: 11
  { 0x180, 0x0b73, 0x0008},  // FEHLERFELD_115: 8
  { 0x180, 0x0b74, 0x0016},  // FEHLERFELD_116: 22
  { 0x180, 0x0b75, 0x0004},  // FEHLERFELD_117: 5
  { 0x180, 0x0b76, 0x0001},  // FEHLERFELD_118: ERR 1
  { 0x180, 0x0b77, 0x0012},  // FEHLERFELD_119: 18
  { 0x180, 0x0b78, 0x000f},  // FEHLERFELD_120: 15
  { 0x180, 0x0b79, 0x000b},  // FEHLERFELD_121: 11
  { 0x180, 0x0b7a, 0x0008},  // FEHLERFELD_122: 8
  { 0x180, 0x0b7b, 0x0016},  // FEHLERFELD_123: 22
  { 0x180, 0x0b7c, 0x0004},  // FEHLERFELD_124: 5
  { 0x180, 0x0b7d, 0x0001},  // FEHLERFELD_125: ERR 1
  { 0x180, 0x0b7e, 0x0005},  // FEHLERFELD_126: 5
  { 0x180, 0x0b7f, 0x0009},  // FEHLERFELD_127: 9
  { 0x180, 0x0b80, 0x000c},  // FEHLERFELD_128: 12
  { 0x180, 0x0b81, 0x0008},  // FEHLERFELD_129: 8
  { 0x180, 0x0b82, 0x0016},  // FEHLERFELD_130: 22
  { 0x180, 0x0b83, 0x0004},  // FEHLERFELD_131: 5
  { 0x180, 0x0b84, 0x0001},  // FEHLERFELD_132: ERR 1
  { 0x180, 0x0b85, 0x0004},  // FEHLERFELD_133: 4
  { 0x180, 0x0b86, 0x0009},  // FEHLERFELD_134: 9
  { 0x180, 0x0b87, 0x000f},  // FEHLERFELD_135: 15
  { 0x180, 0x0b88, 0x0008},  // FEHLERFELD_136: 8
  { 0x180, 0x0b89, 0x0016},  // FEHLERFELD_137: 22
  { 0x180, 0x0b8a, 0x0004},  // FEHLERFELD_138: 5
  { 0x180, 0x0b8b, 0x0001},  // FEHLERFELD_139: ERR 1
  { 0x180, 0x1410, 0x1050},  // HEIZPROG_1_MO: 04:00-20:00
  { 0x180, 0x1411, 0x8080},  // HEIZPROG_1_MO_SCHALT_2: not used time domain
  { 0x180, 0x1412, 0x8080},  // HEIZPROG_1_MO_SCHALT_3: not used time domain
  { 0x180, 0x1420, 0x1050},  // HEIZPROG_1_DI: 04:00-20:00
  { 0x180, 0x1421, 0x8080},  // HEIZPROG_1_DI_SCHALT_2: not used time domain
  { 0x180, 0x1422, 0x8080},  // HEIZPROG_1_DI_SCHALT_3: not used time domain
  { 0x180, 0x1430, 0x1050},  // HEIZPROG_1_MI: 04:00-20:00
  { 0x180, 0x1431, 0x8080},  // HEIZPROG_1_MI_SCHALT_2: not used time domain
  { 0x180, 0x1432, 0x8080},  // HEIZPROG_1_MI_SCHALT_3: not used time domain
  { 0x180, 0x1440, 0x1050},  // HEIZPROG_1_DO: 04:00-20:00
  { 0x180, 0x1441, 0x8080},  // HEIZPROG_1_DO_SCHALT_2: not used time domain
  { 0x180, 0x1442, 0x8080},  // HEIZPROG_1_DO_SCHALT_3: not used time domain
  { 0x180, 0x1450, 0x1050},  // HEIZPROG_1_FR: 04:00-20:00
  { 0x180, 0x1451, 0x8080},  // HEIZPROG_1_FR_SCHALT_2: not used time domain
  { 0x180, 0x1452, 0x8080},  // HEIZPROG_1_FR_SCHALT_3: not used time domain
  { 0x180, 0x1460, 0x1050},  // HEIZPROG_1_SA: 04:00-20:00
  { 0x180, 0x1461, 0x8080},  // HEIZPROG_1_SA_SCHALT_2: not used time domain
  { 0x180, 0x1462, 0x8080},  // HEIZPROG_1_SA_SCHALT_3: not used time domain
  { 0x180, 0x1470, 0x1050},  // HEIZPROG_1_SO: 04:00-20:00
  { 0x180, 0x1471, 0x8080},  // HEIZPROG_1_SO_SCHALT_2: not used time domain
  { 0x180, 0x1472, 0x8080},  // HEIZPROG_1_SO_SCHALT_3: not used time domain
  { 0x180, 0x1510, 0xffff},  // HEIZPROG_2_MO: not used time domain
  { 0x180, 0x1511, 0xffff},  // HEIZPROG_2_MO_SCHALT_2: not used time domain
  { 0x180, 0x1512, 0xffff},  // HEIZPROG_2_MO_SCHALT_3: not used time domain
  { 0x180, 0x1520, 0xffff},  // HEIZPROG_2_DI: not used time domain
  { 0x180, 0x1521, 0xffff},  // HEIZPROG_2_DI_SCHALT_2: not used time domain
  { 0x180, 0x1522, 0xffff},  // HEIZPROG_2_DI_SCHALT_3: not used time domain
  { 0x180, 0x1530, 0xffff},  // HEIZPROG_2_MI: not used time domain
  { 0x180, 0x1531, 0xffff},  // HEIZPROG_2_MI_SCHALT_2: not used time domain
  { 0x180, 0x1532, 0xffff},  // HEIZPROG_2_MI_SCHALT_3: not used time domain
  { 0x180, 0x1540, 0xffff},  // HEIZPROG_2_DO: not used time domain
  { 0x180, 0x1541, 0xffff},  // HEIZPROG_2_DO_SCHALT_2: not used time domain
  { 0x180, 0x1542, 0xffff},  // HEIZPROG_2_DO_SCHALT_3: not used time domain
  { 0x180, 0x1550, 0xffff},  // HEIZPROG_2_FR: not used time domain
  { 0x180, 0x1551, 0xffff},  // HEIZPROG_2_FR_SCHALT_2: not used time domain
  { 0x180, 0x1552, 0xffff},  // HEIZPROG_2_FR_SCHALT_3: not used time domain
  { 0x180, 0x1560, 0xffff},  // HEIZPROG_2_SA: not used time domain
  { 0x180, 0x1561, 0xffff},  // HEIZPROG_2_SA_SCHALT_2: not used time domain
  { 0x180, 0x1562, 0xffff},  // HEIZPROG_2_SA_SCHALT_3: not used time domain
  { 0x180, 0x1570, 0xffff},  // HEIZPROG_2_SO: not used time domain
  { 0x180, 0x1571, 0xffff},  // HEIZPROG_2_SO_SCHALT_2: not used time domain
  { 0x180, 0x1572, 0xffff},  // HEIZPROG_2_SO_SCHALT_3: not used time domain
  { 0x180, 0x1710, 0x232f},  // W_WASSERPROG_1_MO: 08:45-11:45
  { 0x180, 0x1711, 0x313e},  // W_WASSERPROG_1_MO_SCHALT_2: 12:15-15:30
  { 0x180, 0x1712, 0x414a},  // W_WASSERPROG_1_MO_SCHALT_3: 16:15-18:30
  { 0x180, 0x1720, 0x232f},  // W_WASSERPROG_1_DI: 08:45-11:45
  { 0x180, 0x1721, 0x313e},  // W_WASSERPROG_1_DI_SCHALT_2: 12:15-15:30
  { 0x180, 0x1722, 0x414a},  // W_WASSERPROG_1_DI_SCHALT_3: 16:15-18:30
  { 0x180, 0x1730, 0x232f},  // W_WASSERPROG_1_MI: 08:45-11:45
  { 0x180, 0x1731, 0x313e},  // W_WASSERPROG_1_MI_SCHALT_2: 12:15-15:30
  { 0x180, 0x1732, 0x414a},  // W_WASSERPROG_1_MI_SCHALT_3: 16:15-18:30
  { 0x180, 0x1740, 0x232f},  // W_WASSERPROG_1_DO: 08:45-11:45
  { 0x180, 0x1741, 0x313e},  // W_WASSERPROG_1_DO_SCHALT_2: 12:15-15:30
  { 0x180, 0x1742, 0x414a},  // W_WASSERPROG_1_DO_SCHALT_3: 16:15-18:30
  { 0x180, 0x1750, 0x232f},  // W_WASSERPROG_1_FR: 08:45-11:45
  { 0x180, 0x1751, 0x313e},  // W_WASSERPROG_1_FR_SCHALT_2: 12:15-15:30
  { 0x180, 0x1752, 0x414a},  // W_WASSERPROG_1_FR_SCHALT_3: 16:15-18:30
  { 0x180, 0x1760, 0x232f},  // W_WASSERPROG_1_SA: 08:45-11:45
  { 0x180, 0x1761, 0x313e},  // W_WASSERPROG_1_SA_SCHALT_2: 12:15-15:30
  { 0x180, 0x1762, 0x414a},  // W_WASSERPROG_1_SA_SCHALT_3: 16:15-18:30
  { 0x180, 0x1770, 0x232f},  // W_WASSERPROG_1_SO: 08:45-11:45
  { 0x180, 0x1771, 0x313e},  // W_WASSERPROG_1_SO_SCHALT_2: 12:15-15:30
  { 0x180, 0x1772, 0x414a},  // W_WASSERPROG_1_SO_SCHALT_3: 16:15-18:30
  { 0x180, 0xfda7, 0x0000},  // SCHNELLAUFHEIZUNG: 0
  { 0x180, 0xfda8, 0x0100},  // FEHLERANZAHL: 256
  { 0x180, 0xfdaa, 0x0000},  // BUSKONTROLLE: 0
  { 0x180, 0xfdad, 0x0000},  // WP_PUMPENSTATUS: 0
  { 0x180, 0xfdae, 0x0100},  // WP_STATUS: 1
  { 0x180, 0xfdaf, 0x0000},  // DAUERLAUF_PUFFERLADEPUMPE: 0
  { 0x180, 0xfdb0, 0x1400},  // SCHALTWERKDYNAMIKZEIT: 20
  { 0x180, 0xfdb1, 0x1e00},  // STILLSTANDZEIT: 30
  { 0x180, 0xfdb2, 0x0100},  // PUMPENZYKLEN: 1
  { 0x180, 0xfdb3, 0x0100},  // GEBAEUDEART: 1
  { 0x180, 0xfdb4, 0x0100},  // SOMMERBETRIEB: on
  { 0x180, 0xfdb6, 0x0000},  // IMPULSRATE: 0
  { 0x180, 0xfdb7, 0x0000},  // SOLARBETRIEB: 0
  { 0x180, 0xfdb8, 0x0100},  // WAERMEMENGE: 1
  { 0x180, 0xfdb9, 0x0000},  // AUTOMATIK_WARMWASSER: off
  { 0x180, 0xfdba, 0x0100},  // ZWEITER_WE_STATUS: 256
  { 0x180, 0xfdbb, 0x0000},  // WPSTUFEN_WW: 0
  { 0x180, 0xfdbc, 0x0000},  // WW_MIT_2WE: 0
  { 0x180, 0xfdbd, 0x0000},  // SPERREN_2WE: 0
  { 0x180, 0xfdbf, 0x0000},  // DYNAMIK: 0
  { 0x180, 0xfdc0, 0x0000},  // PARTYSTUNDEN: 0



Vincent82

#181
@robob @HGButte setzt Ihr die Befehle zur Veränderung der Soll-Wassertermperatur auf dem Haupt- CAN, auf dem auch das Steuergerät der Wärmepumpe liegt ab oder an dem CAN für das ISG Gateway?
Ein Freund von mir hat eine Tecalor Wärmepumpe und eine Photovoltaikanlage. Für ihn möchte ich gerne das was einige User hier vorhaben mit Hilfe eines Scripts, welches im Home assistant Appdaemon läuft, umsetzen. Zusätzlich soll die Wettervorhersage einfließen, so dass der Pufferspeicher frühmorgens hochgefahren wird im Niedrigtarif wenn keine Sonne zu erwarten ist und umgekehrt damit gewartet wird bis die Sonne scheint. Das Script werde ich dann auch mal an passender Stelle publizieren.
Ich denke ich habe so weit alles zusammen. Nur bei meiner eigenen Stiebel Eltron Wärmepumpte lese ich bisher nur Daten aus. Deshalb stelle ich mir die Frage, ob ich für Befehle auf dem ISG Gateway/FE CAN bus absenden (CAN B im Handbuch des WPM, https://www.tecalor.de/content/dam/tec/cdbassets/current/bedienungs-_u_installationsanleitungen/wpm_installationmanual_doc-00060140.pdf) absenden muss?

tomix

#182
Zitat von: Vincent82 am 29 August 2022, 15:16:37
@robob @HGButte setzt Ihr die Befehle zur Veränderung der Soll-Wassertermperatur auf dem Haupt- CAN, auf dem auch das Steuergerät der Wärmepumpe liegt ab oder an dem CAN für das ISG Gateway?
Ich blick da noch nicht durch. Aber es gibt doch nur einen Bus und jedes Gerät hat eine Nummer oder habe ich was falsch verstanden?

Was ist überhaupt was?

  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


Scan ich mit ./can_scan can0 700 680 | tee ../log_can_scan_680.log usw. folgerte ich aus den Logdateien:
180: liefert gleiche Werte wie 300 und 480???
300: dito 180???
480: dito 180???
500: liefert keine Werte
680: liefert noch mehr Werte die zugeordnet werden, aber alle haben den Wert 0, wieso?

Nach 50_Elster.pm
my $direkt    = "000";
my $kessel    = "180";
my $bedien_1  = "301";
my $bedien_2  = "302";
my $manager   = "480";
my $heiz      = "500";
my $mischer_1 = "601";
my $mischer_2 = "602";

my $sender_id = "680";


Ich hätte nur zwei «Geräte» erwartet, die Steuerung in der Wärmepumpe (IWS?) und den WPMII. Was ist nun was und was soll als «sender can id» verwendet werden? Ich habe nun mal 700 eingesetzt, um nicht zwei mal 680 zu haben. Mal gucken ob sich die Verbindung zum Bus nun nicht mehr zwischen durch «aufhängt».

Gruss
tomix

Vincent82

Zum zweiten CAN:
Im WPM Installationmanual ist von CAN A und B die Rede, siehe hier: https://www.stiebel-eltron.de/content/dam/ste/cdbassets/current/bedienungs-_u_installationsanleitungen/wpm_installationmanual_doc-00060432.pdf
Kann aber auch sein, dass das zwei Steckplätze für den selben CAN sind.

Zum Protokoll:
Im KNX Userforum hat jemand eine sehr gute Doku zum Protokoll gepostet: https://knx-user-forum.de/forum/%C3%B6ffentlicher-bereich/knx-eib-forum/38306-plugin-f%C3%BCr-stiebel-eltron-lwz-304-404-can-bus (dritter Beitrag). Diese Beschreibung sollte Deine Fragen beantworten.

tomix

Zitat von: Vincent82 am 04 September 2022, 09:39:20
Zum Protokoll:
Im KNX Userforum hat jemand eine sehr gute Doku zum Protokoll gepostet: https://knx-user-forum.de/forum/%C3%B6ffentlicher-bereich/knx-eib-forum/38306-plugin-f%C3%BCr-stiebel-eltron-lwz-304-404-can-bus (dritter Beitrag). Diese Beschreibung sollte Deine Fragen beantworten.

Das habe ich auch mal gefunden, aber mangels Benutzerkonto dort konnte ich es nicht runterladen. Dann muss ich mich wohl dort auch mal noch anmelden.

Gruss
tomix

tomix

#185
Zitat von: Vincent82 am 04 September 2022, 09:39:20
Zum zweiten CAN:
Im WPM Installationmanual ist von CAN A und B die Rede, siehe hier: https://www.stiebel-eltron.de/content/dam/ste/cdbassets/current/bedienungs-_u_installationsanleitungen/wpm_installationmanual_doc-00060432.pdf
Kann aber auch sein, dass das zwei Steckplätze für den selben CAN sind.

Habe einen WPMII der hat nur einen CAN Anschluss an welchem die WP hängt. Dazwischen haben ich nun den CAN-Bus-Adapter angeschlossen. Leider kann ich zwischen durch keinen Werte mehr abrufen. Da meistens ein «shutdown restart» in FHEM reicht, vermute ich ein Problem mit der 50_Elster.pm.

Bilder von der Verdrahtung sind angehängt.

Gruss
tomix

tomix

#186
Nach einiger Zeit (etwas 1 Tag) lande ich bei diesem Fehler:
./can_progs/can_scan can0 700 680
elster-kromschroeder can-bus address scanner and test utility
copyright (c) 2014 Jürg Müller, CH-5524

socket error (write) 105: ENOBUFS (No buffer space available)
socket error (write) 105: ENOBUFS (No buffer space available)
socket error (write) 105: ENOBUFS (No buffer space available)
socket error (write) 105: ENOBUFS (No buffer space available)
socket error (write) 105: ENOBUFS (No buffer space available)
socket error (write) 105: ENOBUFS (No buffer space available)


Aktuell bin ich etwas ratlos, wieso das so ist. Meine suche ergab, dass es evtl. damit zusammenhängt das zu viele «Verbindungen» offen sind, also irgendwelche nicht beendet werden?

Ich habe nun mal zum testen in FHEM alles mit CAN-Bus rausgenommen und logge mal mit folgendem BASH-Skript (aufruf via Cron alle 5 Minuten):

#!/bin/bash

# Format der Einträge in der Log-Datei:
# 2022-09-08_21:30:06 Stiebel SPEICHERISTTEMP: 42.8

LOGDATEI="/opt/fhem/log/Stiebel_FileLog-2022.log"

TRENNER=" "
ZEITPUNKT=$(date +%Y-%m-%d_%H:%M:%S)
GERAET="Stiebel"

WERT1=$(/usr/local/bin/can_scan can0 700 180.000e |grep value)
WERT1=${WERT1#*\(} # alles vor und mit der ( Klammer löschen
WERT1=${WERT1%\)*} # alles ab und mit der ) Klammer löschen
BEZEICHNUNG1=$WERT1
BEZEICHNUNG1=${BEZEICHNUNG1%\ *} # alles ab dem Leerzeichen löschen
BEZEICHNUNG1=${BEZEICHNUNG1%?}":" # letztes Zeichen löschen (Leerzeichen)
WERT1=${WERT1#*\ } # Alles vor und mit dem Leerzeichen löschen

echo $ZEITPUNKT $TRENNER $GERAET $TRENNER $BEZEICHNUNG1 $WERT1 >> "$LOGDATEI"

WERT2=$(/usr/local/bin/can_scan can0 700 180.000c |grep value)
WERT2=${WERT2#*\(} # alles vor und mit der ( Klammer löschen
WERT2=${WERT2%\)*} # alles ab und mit der ) Klammer löschen
BEZEICHNUNG2=$WERT2
BEZEICHNUNG2=${BEZEICHNUNG2%\ *} # alles ab dem Leerzeichen löschen
BEZEICHNUNG2=${BEZEICHNUNG2%?}":" # letztes Zeichen löschen (Leerzeichen)
WERT2=${WERT2#*\ } # Alles vor und mit dem Leerzeichen löschen

echo $ZEITPUNKT $TRENNER $GERAET $TRENNER $BEZEICHNUNG2 $WERT2 >> "$LOGDATEI"

Mal sehen ob damit länger als einen Tag Werte kommen.

Gruss
tomix

tomix

#187
Zitat von: tomix am 08 September 2022, 21:10:09
Ich habe nun mal zum testen in FHEM alles mit CAN-Bus rausgenommen und logge mal mit folgendem BASH-Skript (aufruf via Cron alle 5 Minuten):
...
Mal sehen ob damit länger als einen Tag Werte kommen.
Scheint stabil zu laufen. Werde das nun weiter beobachten und falls dies so weiter stabil läuft, werde ich die zu loggenden Daten mal erhöhen. Falls es dann immer noch stabil ist, versuche ich dann die 50_Elster.pm zu verstehen bzw. werde eine Lösung suchen, um den Warmwasserwert ändern zu können.

Läuft leider auch nicht stabil, nur etwas länger, aber nach einiger Zeit bin ich beim selben Fehler:

/usr/local/bin/can_scan can0 700 180.000e
elster-kromschroeder can-bus address scanner and test utility
copyright (c) 2014 Jürg Müller, CH-5524

socket error (write) 105: ENOBUFS (No buffer space available)
socket error (write) 105: ENOBUFS (No buffer space available)
socket error (write) 105: ENOBUFS (No buffer space available)
no value read


dmesg meint jeweils:

usb 2-2: USB disconnect, device number 73
gs_usb 2-2:1.0 can0: Couldn't shutdown device (err=-19)

Evtl. stimmt auch etwas mit dem USB-Port nicht. Werde mal weiter nach der Ursache suchen.

Der USB-Port verabschiedet sich etwa jeden Tag wie folgt:

usb usb5-port2: disabled by hub (EMI?), re-enabling...


Anschliessen hängt vermutlich auch der CAN-Bus (erscheint mir nicht logisch, aber die Heizung will dann auch nicht mehr).

Gruss
tomix

robob

Hallo,

ich hab mal eine Verständnisfrage zu den Adressen:

Jürg gab ja den Hinweis auf seiner Seite, dass die CAN-Adressen über die Bitmaske 8*(X0 & F0)+(0Y & 0F) definiert werden.
Wobei hierbei X den 1. Digit und Y den 4. Digit darstellt.

Das funktioniert wunderbar mit einer Adresse wie 0x180 => 180/8 = hex 30 == 8*(30&F0)+(00&0F) = 180

Jemand empfängt aber Telegramme von der Adresse 0x1C0. Hier funktioniert das nicht: 1C0/8 = hex 38 != 8*(30&F0) + (08&0F) = 188

Welche Digits müssen hier an die Stelle der Adresse im Anfrage-Telegramm?

tomix

Zitat von: tomix am 11 September 2022, 19:23:12
dmesg meint jeweils:

usb 2-2: USB disconnect, device number 73
gs_usb 2-2:1.0 can0: Couldn't shutdown device (err=-19)

Evtl. stimmt auch etwas mit dem USB-Port nicht. Werde mal weiter nach der Ursache suchen.

Inzwischen läuft es stabil. Mit einem neuen USB-Kabel (1.5 m) ohne Verlängerung wurde es noch schlimmer. Also habe ich die Leitung für den USB-Adapter aus dem Verteilkasten rausgeführt und zusätzlich verdrillt. Dann reicht das USB-Kabel ohne Verlängerung und die Verbindung läuft nun seit Ende September stabil.

Jetzt werde ich mal zurück auf die 50_Elster.pm wechseln.

Was mir bis jetzt beim manuellen setzen der Speichertemperatur (Warmwassertemperatur) aufgefallen ist, dass bei einer zu tiefen Speichertemperatur für die Nacht, am Tag dann der Speicher nicht hoch geheizt wird. Beides runter zu setzen und dann gegen Ende der Ferien hoch zu setzten, war allerdings kein Problem.

Gruss
tomix

momad

Hallo zusammen,

hat jemanden vielleicht hier bereits ein SET Befehl via MQTT erfolgreich implementiert bzw. im Einsatz?
ich habe ein Homeassitant und Empfange dort erfolgreich alle Daten von meiner Stiebel via MQTT.
Nun möchte ich gerne aus dem Homeassitant die Temperatur setzen via "SET" und finde hierfür bisher keine Lösung.

Vielen Dank!

tywe

Guten Abend allerseits!
Wer FEK hat, sieht bitte, welche Pakete und an welche Adressen es sendet, wenn es eingeschaltet ist.
Interessiert daran, wie WPMi feststellt, dass ein FEK im Bus aufgetaucht ist.
Ich möchte eine Nachahmung machen.

choetzu

#192
Guten Mittag,
ich habe gestern meinen Raspi4 von Buster auf Bullseye upgegraded.. Lief eigentlich alles rund, bis auf das Elster Modul, das läuft leider nicht mehr. Siehe Log Eintrag.
Was könnte da die Ursache sein? Bei Tante Google kam ich irgendwie nicht weiter.

2023.01.06 11:51:28 1:  reload: Error:Modul 50_Elster deactivated:
Can't load './FHEM/elster_perl.so' for module elster_perl: libperl.so.5.28: Kann die Shared-Object-Datei nicht öffnen: Datei oder Verzeichnis nicht gefunden at /usr/lib/arm-linux-gnueabihf/perl-base/DynaLoader.pm line 187, <$fh> line 1203.
at FHEM/elster_perl.pm line 11.
Compilation failed in require at ./FHEM/50_Elster.pm line 64, <$fh> line 1203.
BEGIN failed--compilation aborted at ./FHEM/50_Elster.pm line 64, <$fh> line 1203.

2023.01.06 11:51:28 0:  Can't load './FHEM/elster_perl.so' for module elster_perl: libperl.so.5.28: Kann die Shared-Object-Datei nicht öffnen: Datei oder Verzeichnis nicht gefunden at /usr/lib/arm-linux-gnueabihf/perl-base/DynaLoader.pm line 187, <$fh> line 1203.
at FHEM/elster_perl.pm line 11.
Compilation failed in require at ./FHEM/50_Elster.pm line 64, <$fh> line 1203.
BEGIN failed--compilation aborted at ./FHEM/50_Elster.pm line 64, <$fh> line 1203.


Danke für Eure Hilfe.

Lg c


EDIT GELOEST: -> es lag nicht am Modul sondern an der libperl.so.5.28 Datei. .. Mit folgendem Code konnte ich es beheben

ln -s /usr/lib/arm-linux-gnueabihf/libperl.so.5.32 /usr/lib/arm-linux-gnueabihf/libperl.so.5.28

Evtl. noch ein sudo davor...
Raspi3, EnOcean, Zwave, Homematic

jailbreaker07

Hallo, ich versuche auch seid einiger Zeit die Stiebel WPF 13 bei Fhem einzubinden. Die Aktuelle Can-Progs habe ich herunter geladen und die Dateien nach Anleitung verschoben. Jedoch bekomme ich beim öden von den Modul immer folgenden Fehler: Can't locate elster_perl.pm in @INC (you may need to install the elster_perl module) (@INC contains: ./lib ./FHEM . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.32.1 /usr/local/share/perl/5.32.1 /usr/lib/arm-linux-gnueabihf/perl5/5.32 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl-base /usr/lib/arm-linux-gnueabihf/perl/5.32 /usr/share/perl/5.32 /usr/local/lib/site_perl) at ./FHEM/50_Elster.pm line 64.
BEGIN failed--compilation aborted at ./FHEM/50_Elster.pm line 64.
Was muss ich hier ggf. noch anpassen? Den Raspberry habe ich mit fhem komplett neu aufgesetzt...

Vielen Dank

Gruß

Thorsten

jailbreaker07

Ich habe es jetzt hin bekommen das fhem das Modul lädt. Anfangs klappt das auch mit den Abfragen der Werte. Jedoch, nach kurzer Steig kommt als Antwor immer nur ein "?". Auch ein Neustart bringt nichts. Das einzigen was teilweise hilft ist das löschen des Moduls mit anschließenden Neustart von fhem und einen neu Anlegen des Elster Device. Dann funktioniert es wieder für kurze Zeit....
Den Raspberry habe ich schon komplett neu aufgesetzt....

In der 50_Elster.pm haben Ich für  mein USBtin folgendes stehen:
# Adaptertyp hier definieren!
  # Default device:
  #   Linux: can0 / SocketCAN
  #   Win: COM1 / can232
  #
elster_perl::set_can232(); # USBtin
  # elster_perl::set_cs();     # für das optische In>
  elster_perl::toggle_trace();


Vielen Dank

Gruß

Thorsten