LAN-Anbindung für BSB-Bus (Brötje, Elco Thision etc.)

Begonnen von justme1968, 29 November 2014, 19:50:40

Vorheriges Thema - Nächstes Thema

freetz

#90
Ich sehe gerade in meiner Anleitung, dass bei meiner Thision S einige Parameter, die es in Deinem Script gibt, gar nicht existieren, andere wiederum (so wie die oben genannten) auf anderen Parameter-Nummern liegen. Vermutlich kommt daher die Fehlermeldung?
Ich hänge Dir mal die Anleitung an, ab Seite 10 ist eine vollständige Auflistung aller Parameter samt Nummern, Kurzeschreibung und Rückgabewerten. Vielleicht reicht es ja aus, die "decode error" Parameter, die aber auf anderen Nummern bereits vorhandenen sind, entsprechend auf neue Parameter-Nummern zu kopieren? Also bsp. die Betriebsstunden, die jetzt auf 8330 liegen auch noch mal auf 8336 anzulegen?

Viele Grüße

F.
Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/bsb_lan

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan

gero

Ich bin gerade dabei und habe schon nach der Anleitung für die autorisierte Fachkraft gesucht. Danke.

Die "decoding errors" liegen daran, dass deine Heizung diese Parameter nicht unterstützt. Ich habe die Fehlermeldung jetzt verbessert.
Zusätzlich gibt es bei der Thision einige zusätzliche Parameter, die noch eingepflegt werden müssen. Da hilft das Dokument ungemein.

Ich melde mich sobald ich etwas zum Testen habe.

Gruß,
Gero
Odroid C1 - CULV3-868, JeeLink
16 x TX 29 DTH
MAX!: 15x Heizkörperthermostat+, 2x Wandthermostat, 14x Fenserkontakt, 1x Ecotaster
FS20 S4A, FS20IRF, BSB-Heizungssteuerung über Atmega2560
Z-Wave: ZME_UZB1, Fibaro Wall Plug + Motion Sensor

freetz

Wunderbar, vielen Dank! Freut mich, dass das Dokument dabei hilft :)...
Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/bsb_lan

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan

gero

So, jetzt gibt es eine neue Version

Folgende Änderungen sind enthalten:
- kleine Bugfixes (z.B. bei Abruf der Kategorie 38)
- verbesserte Ausgabe der Fehlermeldungen bei Abfrage von Parametern, die z.B. von der Heizung nicht unterstützt werden.
- IPWE extensions (Habe ich erstmal so von freetz mit kleinen Änderungen übernommen.)
- Aufnahme zusätzicher Parameter für die Elco Thision Heizung (größtenteils noch nicht decodiert)

(Bei der Fehlerhistorie der Thision gibt es noch ein Problem. Die Nummerierung der Einträge kollidiert mit der vorhandenen Nummerierung für andere Heizungen. Da muß ich mir noch etwas überlegen.)

@freetz:
Jetzt liegt es an dir, wieviel Arbeit du investieren kannst/möchtest, um die zusätzlichen Parameter zu decodieren. (Schön wäre natürlich alle Parameter zu decodieren 8))
Zur Zeit sind die zusätzlichen Parameter mit CMD_UNKNOWN und viele davon mit dem Typ VT_UNKNOWN eingetragen.
Jetzt müsstest du am Display diese Parameter abrufen und die CommandID aus dem seriellen Mitschnitt im Verbose Mode in die Tabelle eintragen. Für das Decodieren der Parameter benötigt man den angezeigten Wert am Display und die Ausgabe auf der seriellen Konsole. Am besten ist natürlich, wenn der Wert ungleich 0 ist. Ansonsten kann man nur raten.
Ich bin am Anfang einmal komplett durch alle Menüs gegangen und habe die Anzeige mit dem Handy gefilmt. Parallel habe ich den seriellen Mitschnitt laufen lassen. Dadurch war es relativ einfach anschließend in Ruhe die Zuordnung zu finden.
Ich hoffe, ich habe mich einigermaßen verständlich ausgedrückt.

Falls du irgendwelche Fragen oder Logfiles mit Zuordnung hast, kann ich dir gerne helfen.

Die ELCO Anleitungen sind leider ziemlich fehlerbehaftet. Wenn nichts fehlt, sind ca. 90 neue Parameter dazugekommen. In der Tabelle sind alle mit
TODO Thision
markiert.

Gruß,
Gero
Odroid C1 - CULV3-868, JeeLink
16 x TX 29 DTH
MAX!: 15x Heizkörperthermostat+, 2x Wandthermostat, 14x Fenserkontakt, 1x Ecotaster
FS20 S4A, FS20IRF, BSB-Heizungssteuerung über Atmega2560
Z-Wave: ZME_UZB1, Fibaro Wall Plug + Motion Sensor

gero

Ich sehe gerade, dass es auf der Konsole noch eine ungewünschte Fehlermeldung durch die Aufnahme der IPWE Extensions gibt.
FIXPOINT len !=3
Wird für alle Parameter ausgegeben, deren Datenlänge ungleich 3 ist. Die Meldung stört das Webfrontend nicht. Daher werde ich sie erst in der nächsten Version fixen.

Gruß,
Gero
Odroid C1 - CULV3-868, JeeLink
16 x TX 29 DTH
MAX!: 15x Heizkörperthermostat+, 2x Wandthermostat, 14x Fenserkontakt, 1x Ecotaster
FS20 S4A, FS20IRF, BSB-Heizungssteuerung über Atmega2560
Z-Wave: ZME_UZB1, Fibaro Wall Plug + Motion Sensor

freetz

Hallo Gero,

mache ich gern - nur zum Verständnis noch mal: Ich muss also beim Mittschnitt bei "HEIZ->DISP" ab Byte fünf auf die vier Bytes achten und die dann in cmdtbl dort eintragen, wo jetzt CMD_UNKNOWN steht und dann ggf. noch das Ausgabeformat VT_xyz entsprechend setzen? Das sollte machbar sein. Ich wundere mich nur, dass bei DISP->HEIZ manchmal die ersten beiden Bytes des Befehls-Codes vertauscht sind und daher sicher gehen will, dass ich weiß, auf welche Bytefolge ich dann letztlich achten muss.

Danke auf jeden Fall, dass Du die IPWE/ETH-RLY Funktionen drin gelassen hast, ich hoffe, sie stören den Rest nicht weiter.

Viele Grüße

Frederik

Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/bsb_lan

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan

gero

Bei unbekannten Befehlen solltest du etwas in der Art auf der seriellen Schnittstelle sehen:

ZitatDISP->HEIZ QUR      113D305F
DC 8A 00 0B 06 3D 11 30 5F AB EC
HEIZ->DISP ANS      113D305F 00 00
DC 80 0A 0D 07 11 3D 30 5F 00 00 03 A1

Bei Set und Query Befehlen sind die ersten beiden Bytes vertauscht. Das wird von der Software aber automatisch geregelt. Wichtig ist die Antwort der Heizung. Die CommandID, die du eintragen mußt ist oben rot markiert. Nur das führende 0x mußt du noch hinzufügen.
Bei den Parametern muß man sehen, ob schon etwas vorhandenes wiederverwendet werden kann, oder ob wir einen neuen Parametertyp einführen müssen. Überall wo im Handbuch ein bekannter Typ steht, habe ich den Parametertyp schon eingetragen. Bei andern habe ich eine Vermutung wie sie dekodiert werden müssen. Wenn du mir den im Display angezeigten Wert und das Telegramm gibst, kann ich bei den Parametern gerne weiterhelfen.

Gruß,
Gero
Odroid C1 - CULV3-868, JeeLink
16 x TX 29 DTH
MAX!: 15x Heizkörperthermostat+, 2x Wandthermostat, 14x Fenserkontakt, 1x Ecotaster
FS20 S4A, FS20IRF, BSB-Heizungssteuerung über Atmega2560
Z-Wave: ZME_UZB1, Fibaro Wall Plug + Motion Sensor

freetz

Ok, bei ein paar Werten hat das schon geklappt, bei anderen bekomme ich aber trotz der anscheinend passenden Einheiten "decode error"-Fehler:
RGT1->HEIZ QUR  886 Heizkreis 1 -  Norm Aussentemperatur:
DC 86 00 0B 06 3D 19 2F 88 BB 2D
HEIZ->RGT1 ANS  886 Heizkreis 1 -  Norm Aussentemperatur: FIXPOINT len !=3: 00 F1
DC 80 06 0D 07 19 3D 2F 88 00 F1 6B 80
RGT1->HEIZ QUR  887 Heizkreis 1 -  Vorlaufsoll NormAussentemp:
DC 86 00 0B 06 3D 05 30 50 D4 17
HEIZ->RGT1 ANS  887 Heizkreis 1 -  Vorlaufsoll NormAussentemp: FIXPOINT len !=3: 00 96
DC 80 06 0D 07 05 3D 30 50 00 96 65 DA
RGT1->HEIZ QUR  888 Heizkreis 1 -  dt √úberh√∂hungsfaktor:
DC 86 00 0B 06 3D 25 2F E5 B6 E2
HEIZ->RGT1 ANS  888 Heizkreis 1 -  dt √úberh√∂hungsfaktor: BYTE len error len!=2: 00 00 50
DC 80 06 0E 07 25 3D 2F E5 00 00 50 61 3E
RGT1->HEIZ QUR  894 Heizkreis 1 -  dt Spreizung Norm Aussent.:
DC 86 00 0B 06 3D 19 2F 8A 9B 6F
HEIZ->RGT1 ANS  894 Heizkreis 1 -  dt Spreizung Norm Aussent.: FIXPOINT len !=3: 00 28
DC 80 06 0D 07 19 3D 2F 8A 00 28 5F B4


Kannst Du da was zu sagen?
Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/bsb_lan

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan

gero

#98
Bei diesen Werten scheint der Parametertyp nicht zu stimmen, den ich eingetragen habe. Im Handbuch war [°C] bzw [%] angegeben. Diese Einheiten wurden bisher immer gleich codiert. In diesem Fall schein es etwas anders zu sein.
Wenn die Werte den Standardwerten im Handbuch entsprechen, scheinen die Parameter wie folgt codiert zu sein.
886 1 byte °C
888 2byte/2 %
887,894  1 byte/2 °C

Hierzu müsste man am besten neue Parametertypen einführen
z.B. VT_TEMP_SHORT, VT_PERCENT5 , VT_TEMP_SHORT5 (um die Nomenklatur der anderen Parameter einzuhalten)

Ich kann es gerne machen. Aber heute werde ich wohl nicht mehr dazu kommen.

Gruß,
Gero
Odroid C1 - CULV3-868, JeeLink
16 x TX 29 DTH
MAX!: 15x Heizkörperthermostat+, 2x Wandthermostat, 14x Fenserkontakt, 1x Ecotaster
FS20 S4A, FS20IRF, BSB-Heizungssteuerung über Atmega2560
Z-Wave: ZME_UZB1, Fibaro Wall Plug + Motion Sensor

freetz

Keine Eile, ich wollte nur sicher gehen, dass ich nichts falsch gemacht habe.
Die Werte hier in der Therme sind
886: -15 Grad (ohne Nachkommastelle)
887: 75,0 Grad (mit einer Nachkommastelle)
888: 40,0 Prozent (mit einer Nachkommastelle)

Hoffe, das hilft...
Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/bsb_lan

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan

freetz

So, hier nun meine herausgefundenen Werte - da ich nicht alle Komponenten im System nutze (wie z.B. 2. Heizkreis etc.), konnte ich demzufolge auch nicht bei allen etwas herausfinden. Den Bereich "Konfiguration" lasse ich auch erst einmal außen vor, denn da sind einige Programmnummern (wie 5950) schon mit ENUMs eingepflegt, die aber nicht zu meiner Thision passen. Hinzu kommt, dass Programm Nr. 5761 bei mir an der Therme mit vier verschiedenen Ja/Nein-Funktionen belegt ist: "Zonen mit Zubringerpumpe", "HK2 mit Zubringerpumpe", "HK1 mit Zubringerpumpe", "TWW mit Zubringerpumpe", bei Nr. 6606 im LPB-System ist es ähnlich.

Viele dieser Punkte sind (mir) aber auch nicht so wichtig. Einzig das Umschalten der Funktion des H1-Relais (5950) könnte wohl ganz hilfreich sein, wenn man das per Internet im Falle einer Störung oder so verändern/deaktivieren könnte - die Werte hierfür wären "Keine", "Modemfunktion", "Modemfunktion invers", "Torschleierfunktion" und "Rückmeldung Abgasklappe" (steht aber glaube ich auch so im Handbuch).

{0x113D2F95, CAT_HK1, VT_BYTE, 884, STR884, 0, NULL}, // TODO Thision 884 Drehzahlstufe Ausleg'punkt [1-50, 9-13kW=16, 17-25kW=19, 35-50kW=24]
{0x113D304F, CAT_HK1, VT_PERCENT, 885, STR885, 0, NULL}, // TODO Thision 885 Pumpe-PWM Minimum [%]
{0x193D2F88, CAT_HK1, VT_TEMP, 886, STR886, 0, NULL}, // TODO Thision 886 Norm Aussentemperatur [°C]
{0x053D3050, CAT_HK1, VT_TEMP, 887, STR887, 0, NULL}, // TODO Thision 887 Vorlaufsoll NormAussentemp [°C]
{0x253D2FE5, CAT_HK1, VT_PERCENT, 888, STR888, 0, NULL}, // TODO Thision 888 dt Überhöhungsfaktor [%]
{0x193D2F8A, CAT_HK1, VT_TEMP, 894, STR894, 0, NULL}, // TODO Thision 894 dt Spreizung Norm Aussent. [°C]
{0x193D2F8B, CAT_HK1, VT_TEMP, 895, STR895, 0, NULL}, // TODO Thision 895 dt Spreizung Maximum [°C]
{0x3D0D08D3, CAT_KESSEL, VT_ONOFF, 2201, STR2201, 0, NULL}, // TODO Thision 2201 Erzeugersperre [Ein/Aus]
{0x0D3D08EB, CAT_KESSEL, VT_TEMP, 2214, STR2214, 0, NULL}, // TODO Thision 2214 Sollwert Handbetrieb [°C]
{0x093D2F98, CAT_KESSEL, VT_PERCENT, 2440, STR2440, 0, NULL}, // TODO Thision 2440 Gebläse-PWM Hz Maximum [%]
{0x193D2FBF, CAT_KESSEL, VT_PERCENT, 2442, STR2442, 0, NULL}, // TODO Thision 2442 Gebläse-PWM Reglerverzögerung [%]
{0x093D2F99, CAT_KESSEL, VT_UNKNOWN, 2444, STR2444, 0, NULL}, // TODO Thision 2444 Leistung Minimum [kW]
{0x093D3066, CAT_KESSEL, VT_UNKNOWN, 2445, STR2445, 0, NULL}, // TODO Thision 2445 Leistung Nenn [kW]
{0x093D2F9A, CAT_KESSEL, VT_UNKNOWN, 2451, STR2451, 0, NULL}, // TODO Thision 2451 Brennerpausenzeit Minimum [s]
{0x0D3D2FBA, CAT_KESSEL, VT_UNKNOWN, 2459, STR2459, 0, NULL}, // TODO Thision 2459 Sperrzeit dynam Schaltdiff [s]
{0x113D3051, CAT_KESSEL, VT_UNKNOWN, 2471, STR2471, 0, NULL}, // TODO Thision 2471 Pumpennachlaufzeit HK's [min]
{0x113D2FA9, CAT_KESSEL, VT_UNKNOWN, 2540, STR2540, 0, NULL}, // TODO Thision 2540 Proportionalbeiwert Kp TWW [0..9.9375]
{0x113D2FAA, CAT_KESSEL, VT_UNKNOWN, 2543, STR2543, 0, NULL}, // TODO Thision 2543 Proportionalbeiwert Kp HK's [0..9.9375]
{0x053D0099, CAT_FEHLER, VT_ERRORCODE, 6705, STR6705, 0, NULL}, // TODO Thision 6705 SW Diagnosecode [VT_ERRORCODE?]
{0x053D0075, CAT_WARTUNG, VT_UNKNOWN, 7001, STR7001, 0, NULL}, // TODO Thision 7001 Meldung [?]
{0x2D3D2FDA, CAT_WARTUNG, VT_ONOFF, 7007, STR7007, 0, NULL}, // TODO Thision 7007 Anzeige Meldungen [Ein/Aus]
{0x053D0075, CAT_WARTUNG, VT_UNKNOWN, 7001, STR7001, 0, NULL}, // TODO Thision 7001 Meldung [?]
{0x2D3D2FDA, CAT_WARTUNG, VT_ONOFF, 7007, STR7007, 0, NULL}, // TODO Thision 7007 Anzeige Meldungen [Ein/Aus]
{0x2D3D2FD9, CAT_WARTUNG, VT_ONOFF, 7010, STR7010, 0, NULL}, // TODO Thision 7010 Quittierung Meldung [Ein/Aus]
{0x253D2FDD, CAT_WARTUNG, VT_UNKNOWN, 7011, STR7011, 0, NULL}, // TODO Thision 7011 Repetitionszeit Meldung [Tage]
{0x2D3D2FDA, CAT_WARTUNG, VT_YESNO, 7012, STR7012, 0, NULL}, // TODO Thision 7012 Reset Meldungen 1-6 [Ja/Nein]
{0x093D3021, CAT_WARTUNG, VT_ONOFF, 7143, STR7143, 0, NULL}, // TODO Thision 7143 Reglerstoppfunktion [Ein/Aus]
{0x093D3022, CAT_WARTUNG, VT_PERCENT, 7145, STR7145, 0, NULL}, // TODO Thision 7145 Reglerstopp Sollwert [%]
{0x113D307C, CAT_WARTUNG, VT_ONOFF, 7146, STR7146, 0, NULL}, // TODO Thision 7146 Entlüftungsfunktion [Ein/Aus]
{0x2D3D05E9, CAT_DIAG_VERBRAUCHER, VT_TEMP, 8742, STR8742, 0, NULL}, // TODO Thision 8742 Raumtemperatur 1 Modell [°C]
{0x07053D04, CAT_DIAG_VERBRAUCHER, VT_PERCENT, 8750, STR8750, 0, NULL}, // TODO Thision 8750 Mod Pumpe Sollwert [%]
{0x2E3D05E9, CAT_DIAG_VERBRAUCHER, VT_TEMP, 8772, STR8772, 0, NULL}, // TODO Thision 8772 Raumtemperatur 2 Modell [°C]
{0x3D304D00, CAT_FEUERUNGSAUTOMAT, VT_PERCENT, 9550, STR9550, 0, NULL}, // TODO Thision 9550 Gebl'ansteuerung Stillstand [%]


Ansonsten hier die Telegramme zu den unbekannten Nachrichtentypen inkl. dem, was auf dem Display steht:

Zu 2245: Display: 2 kW - Telegramm: DC 80 0A 10 07 09 3D 30 66 00 00 00 00 AA 00 6D
Zu 2245: Display: 17 kW - Telegramm: DC 80 0A 0E 07 09 3D 2F 99 00 00 14 BF DA
Zu 2451: Display: 300 s - Telegramm: DC 80 0A 0E 07 09 3D 2F 9A 00 01 2C A0 6C
Zu 2459: Display: 10 s -  Telegramm: DC 80 0A 0D 07 0D 3D 2F BA 00 0A 37 04
Zu 2471: Display: 5 min - Telegramm: DC 80 0A 0D 07 11 3D 30 51 00 05 48 05
Zu 2540: Display: 0.75 - Telegramm: DC 80 0A 0E 07 11 3D 2F A9 00 00 0C A4 DC
Zu 2543: Display: 0.13 - Telegramm: DC 80 0A 0E 07 11 3D 2F AA 00 00 02 DE CE
Zu 7001: Dort wird als Meldung "0:Keine Wartung anstehend" angezeigt, habe den Typ erst einmal auf VT_UNKNOWN gelassen.
Zu 7011: Display: 0 - Telegramm: DC 80 0A 0E 07 25 3D 2F DD 00 00 00 75 9F
Zu 7051: Display: 0 - Telegramm: DC 80 0A 0D 07 2D 3D 30 0C 00 00 20 50


Wenn ich noch etwas tun kann, dann sag' gern Bescheid!
Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/bsb_lan

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan

freetz

...eine Frage/Bitte hätte ich noch, die ich mit meinen begrenzten C-Kenntnissen nicht selber lösen kann:
Ich hatte jetzt ja den Rückgabewert der query-Funktion so codiert, dass der Rückgabewert über fest über printFIXPOINT übermittelt wird. Das klappt bei Temperaturwerten soweit ganz ok, nur leider nicht z.B. bei Prozentwerten. Ich würde gerne neben den Temperaturverläufen auch die Brennermodulation auswerten. Von daher wäre es toll, wenn die query-Funktion (oder eine beliebige andere, der ich die Programmnummer übergebe) einfach den Zahlenwert als solche zurückliefern würde (am besten als double oder float) und man den dann z.B. im ipwe-Modul oder anderweitig im Code auswerten kann.
Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/bsb_lan

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan

gero

Hallo Frederik,

erstmal Danke für deine Arbeit. Ich versuche deine Informationen möglichst bald zu integrieren.


Zitat von: freetz am 05 März 2015, 16:23:49
So, hier nun meine herausgefundenen Werte - da ich nicht alle Komponenten im System nutze (wie z.B. 2. Heizkreis etc.), konnte ich demzufolge auch nicht bei allen etwas herausfinden.
Das Problem hatte ich auch. Ich nehme an, dir fehlt der Zugriff auf die Werte für CAT_HK2 und CAT_DRUCHLERHITZER.
Kannst du evtl. noch die CommandIDs für folgende Werte ermitteln? Ich hätte die Tabelle wenigstens so weit es geht vollständig.

{CMD_UNKNOWN, CAT_KONFIG, VT_UNKNOWN, 5701, STR5701, 0, NULL}, // TODO Thision 5701 Hydraulisches Schema [2..85 enum?]
{CMD_UNKNOWN, CAT_KONFIG, VT_UNKNOWN, 5732, STR5732, 0, NULL}, // TODO Thision 5732 TWW Pumpenpause Umsch UV [s]
{CMD_UNKNOWN, CAT_KONFIG, VT_UNKNOWN, 5733, STR5733, 0, NULL}, // TODO Thision 5733 TWW Pumpenpause Verzögerung [s]
{CMD_UNKNOWN, CAT_KONFIG, VT_UNKNOWN, 5761, STR5761, 0, NULL}, // TODO Thision 5761 Zubringerpumpe Q8 Bit 0-3 [?]
{CMD_UNKNOWN, CAT_KONFIG, VT_UNKNOWN, 5920, STR5920, 0, NULL}, // TODO Thision 5920 Relaisausgang K2 LMU-Basis Bit 0-7 [?]
{CMD_UNKNOWN, CAT_KONFIG, VT_YESNO, 5921, STR5921, 0, NULL}, // TODO Thision 5921 Default K2 auf K1 [Ja/Nein]
{CMD_UNKNOWN, CAT_KONFIG, VT_ENUM, 5922, STR5922, sizeof(ENUM5922), ENUM5922}, // TODO Thision 5922 Relaisausgang 1 RelCl [enum: ]
{CMD_UNKNOWN, CAT_KONFIG, VT_ENUM, 5923, STR5923, sizeof(ENUM5923), ENUM5923}, // TODO Thision 5923 Relaisausgang 2 RelCl [s.o.]
{CMD_UNKNOWN, CAT_KONFIG, VT_ENUM, 5924, STR5924, sizeof(ENUM5924), ENUM5924}, // TODO Thision 5924 Relaisausgang 3 RelCl [s.o.]
{CMD_UNKNOWN, CAT_KONFIG, VT_ENUM, 5926, STR5926, sizeof(ENUM5926), ENUM5926}, // TODO Thision 5926 Relaisausgang 1 SolCl [s.o.]
{CMD_UNKNOWN, CAT_KONFIG, VT_ENUM, 5927, STR5927, sizeof(ENUM5927), ENUM5927}, // TODO Thision 5927 Relaisausgang 2 SolCl [s.o.]
{CMD_UNKNOWN, CAT_KONFIG, VT_ENUM, 5928, STR5928, sizeof(ENUM5928), ENUM5928}, // TODO Thision 5928 Relaisausgang 3 SolCl [s.o.]
{CMD_UNKNOWN, CAT_KONFIG, VT_ENUM, 5957, STR5957, sizeof(ENUM5957), ENUM5957}, // TODO Thision 5957 Modemfunktion [enum]
{CMD_UNKNOWN, CAT_KONFIG, VT_ENUM, 5970, STR5970, sizeof(ENUM5970), ENUM5970}, // TODO Thision 5970 Konfig Raumthermostat 1 [enum]
{CMD_UNKNOWN, CAT_KONFIG, VT_ENUM, 5971, STR5971, sizeof(ENUM5971), ENUM5971}, // TODO Thision 5971 Konfig Raumthermostat 2 [enum: s.o.]
{CMD_UNKNOWN, CAT_KONFIG, VT_ENUM, 5973, STR5973, sizeof(ENUM5973), ENUM5973}, // TODO Thision 5973 Funktion Eingang RelCl [enum]
{CMD_UNKNOWN, CAT_KONFIG, VT_TEMP, 5975, STR5975, 0, NULL}, // TODO Thision 5975 Ext. Vorlaufsollwert Maximum [°C?]
{CMD_UNKNOWN, CAT_KONFIG, VT_ENUM, 5978, STR5978, sizeof(ENUM5978), ENUM5978}, // TODO Thision 5978 Funktion Eingang SolCl [enum]
{CMD_UNKNOWN, CAT_KONFIG, VT_UNKNOWN, 6089, STR6089, 0, NULL}, // TODO Thision 6089 Mod Pumpe Drehzahlstufen [?]
{CMD_UNKNOWN, CAT_KONFIG, VT_UNKNOWN, 6092, STR6092, 0, NULL}, // TODO Thision 6092 Mod Pumpe PWM [?]
{CMD_UNKNOWN, CAT_KONFIG, VT_UNKNOWN, 6112, STR6112, 0, NULL}, // TODO Thision 6112 Gradient Raummodell [min/K]
{CMD_UNKNOWN, CAT_KONFIG, VT_UNKNOWN, 6221, STR6221, 0, NULL}, // TODO Thision 6221 Entwicklungs-Index [?]
{CMD_UNKNOWN, CAT_KONFIG, VT_UNKNOWN, 6225, STR6225, 0, NULL}, // TODO Thision 6225 Gerätefamilie [?]
{CMD_UNKNOWN, CAT_KONFIG, VT_UNKNOWN, 6226, STR6226, 0, NULL}, // TODO Thision 6226 Gerätevariante [?]
{CMD_UNKNOWN, CAT_KONFIG, VT_UNKNOWN, 6227, STR6227, 0, NULL}, // TODO Thision 6227 Objektverzeichnis-Version [?]
{CMD_UNKNOWN, CAT_KONFIG, VT_UNKNOWN, 6240, STR6240, 0, NULL}, // TODO Thision 6240 KonfigRg1 Bit 0-7 [?]
{CMD_UNKNOWN, CAT_KONFIG, VT_UNKNOWN, 6270, STR6270, 0, NULL}, // TODO Thision 6270 KonfigRg4 Bit 0-7 [?]
{CMD_UNKNOWN, CAT_KONFIG, VT_UNKNOWN, 6300, STR6300, 0, NULL}, // TODO Thision 6300 KonfigRg7 Bit 0-7 [?]
{CMD_UNKNOWN, CAT_KONFIG, VT_UNKNOWN, 6310, STR6310, 0, NULL}, // TODO Thision 6310 KonfigRg8 Bit 0-7 [?]
{CMD_UNKNOWN, CAT_KONFIG, VT_UNKNOWN, 6330, STR6330, 0, NULL}, // TODO Thision 6330 KonfigRg10 Bit 0-7 [?]
{CMD_UNKNOWN, CAT_LPB, VT_UNKNOWN, 6606, STR6606, 0, NULL}, // TODO Thision 6606 LPB-Konfig. 0 [?]
{CMD_UNKNOWN, CAT_FEHLER, VT_DATETIME, 6820, STR6820, 0, NULL}, // TODO Thision 6820 Historie 3
{CMD_UNKNOWN, CAT_FEHLER, VT_ERRORCODE, 6825, STR6825, 0, NULL}, // TODO Thision 6825 SW Diagnosecode 3
{CMD_UNKNOWN, CAT_FEHLER, VT_DATETIME, 6830, STR6830, 0, NULL}, // TODO Thision 6830 Historie 4
{CMD_UNKNOWN, CAT_FEHLER, VT_ERRORCODE, 6835, STR6835, 0, NULL}, // TODO Thision 6835 SW Diagnosecode 4
{CMD_UNKNOWN, CAT_FEHLER, VT_DATETIME, 6840, STR6840, 0, NULL}, // TODO Thision 6840 Historie 5
{CMD_UNKNOWN, CAT_FEHLER, VT_ERRORCODE, 6845, STR6845, 0, NULL}, // TODO Thision 6845 SW Diagnosecode 5


Zitat von: freetz am 05 März 2015, 16:23:49
Den Bereich "Konfiguration" lasse ich auch erst einmal außen vor, denn da sind einige Programmnummern (wie 5950) schon mit ENUMs eingepflegt, die aber nicht zu meiner Thision passen.
Das ist wirlich unschön. Bisher hatten die enums zu allen Systemen gepasst. Jetzt muß ich mir überlegen, wie man das Problem am elagantesten Lösen kann.
Vorerst könnte man mit defines arbeiten und so die abweichenden enums umbiegen.

Zitat von: freetz am 05 März 2015, 16:23:49
Hinzu kommt, dass Programm Nr. 5761 bei mir an der Therme mit vier verschiedenen Ja/Nein-Funktionen belegt ist: "Zonen mit Zubringerpumpe", "HK2 mit Zubringerpumpe", "HK1 mit Zubringerpumpe", "TWW mit Zubringerpumpe", bei Nr. 6606 im LPB-System ist es ähnlich.
Es gibt leider ein paar unschöne Parameter. D.h. um die Bedienung zu vereinfachen, sind am Display zusätzliche Optionen vorhanden.
Für die Zeile 5761 nehme ich an, dass die einzelnen Ja/Nein Auswahlmöglichkeiten den 4 Bitwerten (Zubringerpumpe Q8 Bit 0-3) entsprechen. Um das zu decodieren, müßtest du verschiedene Werte setzen. Aber evtl. bringst du deine Heizung damit durcheinander. Ich würde es erstmal sein lassen. Bei 6606 sieht es ähnlich aus.

Zitat von: freetz am 05 März 2015, 16:23:49
Viele dieser Punkte sind (mir) aber auch nicht so wichtig. Einzig das Umschalten der Funktion des H1-Relais (5950) könnte wohl ganz hilfreich sein, wenn man das per Internet im Falle einer Störung oder so verändern/deaktivieren könnte - die Werte hierfür wären "Keine", "Modemfunktion", "Modemfunktion invers", "Torschleierfunktion" und "Rückmeldung Abgasklappe" (steht aber glaube ich auch so im Handbuch).
Ich werde für diesen enum erstmal einen Sonderfall einbauen (s.o.), den du mit define THISION aktivieren kannst. Evtl. fällt mir aber noch eine bessere Lösung ein.

Zitat von: freetz am 05 März 2015, 18:05:10
...eine Frage/Bitte hätte ich noch, die ich mit meinen begrenzten C-Kenntnissen nicht selber lösen kann:
Ich hatte jetzt ja den Rückgabewert der query-Funktion so codiert, dass der Rückgabewert über fest über printFIXPOINT übermittelt wird. Das klappt bei Temperaturwerten soweit ganz ok, nur leider nicht z.B. bei Prozentwerten. Ich würde gerne neben den Temperaturverläufen auch die Brennermodulation auswerten. Von daher wäre es toll, wenn die query-Funktion (oder eine beliebige andere, der ich die Programmnummer übergebe) einfach den Zahlenwert als solche zurückliefern würde (am besten als double oder float) und man den dann z.B. im ipwe-Modul oder anderweitig im Code auswerten kann.
Habe ich bereits erledigt. Muß ich nur noch testen.

Gruß,
Gero
Odroid C1 - CULV3-868, JeeLink
16 x TX 29 DTH
MAX!: 15x Heizkörperthermostat+, 2x Wandthermostat, 14x Fenserkontakt, 1x Ecotaster
FS20 S4A, FS20IRF, BSB-Heizungssteuerung über Atmega2560
Z-Wave: ZME_UZB1, Fibaro Wall Plug + Motion Sensor

freetz

Zitat von: gero am 06 März 2015, 09:32:18
erstmal Danke für deine Arbeit. Ich versuche deine Informationen möglichst bald zu integrieren.

Keine Ursache - Du machst Dir ja gerade Mehrarbeit für ein System, das Du gar nicht verwendest, insofern habe ich zu danken :)...

Zitat von: gero am 06 März 2015, 09:32:18
Das Problem hatte ich auch. Ich nehme an, dir fehlt der Zugriff auf die Werte für CAT_HK2 und CAT_DRUCHLERHITZER.

Zitat von: gero am 06 März 2015, 09:32:18
Kannst du evtl. noch die CommandIDs für folgende Werte ermitteln? Ich hätte die Tabelle wenigstens so weit es geht vollständig.

Ja, versuche ich heute im Laufe des Tages oder spätestens am Wochenende zu machen.

Zitat von: gero am 06 März 2015, 09:32:18
Das ist wirlich unschön. Bisher hatten die enums zu allen Systemen gepasst. Jetzt muß ich mir überlegen, wie man das Problem am elagantesten Lösen kann.
Vorerst könnte man mit defines arbeiten und so die abweichenden enums umbiegen.

Mich wundert das auch, zumal es ja eigentlich ein und dieselbe Bedieneinheit von Siemens sein sollte. Deren 672-Webserver für den BSB-Bus müsste ja sich dann ja auch entsprechend umkonfigurieren, jenachdem welche Therme am Netz hängt, und das können ja bis zu 16 sein. Eigentlich unsinnig...
Das mit den Defines scheint mir aber ein ganz gangbarer Weg zu sein, weil man ja auch andere Dinge eh' schon darüber einstellt, insofern könnte man darüber ja auch seine Therme auswählen.

Zitat von: gero am 06 März 2015, 09:32:18
Es gibt leider ein paar unschöne Parameter. D.h. um die Bedienung zu vereinfachen, sind am Display zusätzliche Optionen vorhanden.
Für die Zeile 5761 nehme ich an, dass die einzelnen Ja/Nein Auswahlmöglichkeiten den 4 Bitwerten (Zubringerpumpe Q8 Bit 0-3) entsprechen. Um das zu decodieren, müßtest du verschiedene Werte setzen. Aber evtl. bringst du deine Heizung damit durcheinander. Ich würde es erstmal sein lassen. Bei 6606 sieht es ähnlich aus.

Ja, ich hatte auch schon die Vermutung, dass da mehrere Bits die entsprechenden Konfigurationen übernehmen. Wenn ich einen davon mal brauchen sollte, werde ich an den Mitschnitt denken, aber allzu sehr verwirren möchte ich die Therme dann doch nicht ;)...

Zitat von: gero am 06 März 2015, 09:32:18
Habe ich bereits erledigt. Muß ich nur noch testen.

Toll, vielen Dank! Ich hatte jetzt schon versucht, einfach über die msg[]-Variable die entsprechenden Werte selber auszulesen, aber das wäre ja wie das Rad neu erfinden (bzw. zu kopieren) ;)...

Viele Grüße

Frederik
Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/bsb_lan

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan

freetz

Noch ein Nachtrag zu meinen bisher ermittelten Befehlscodes - ich bekomme bei einigen der Parameter decoding errors oder andere Fehlermeldungen. Du hattest ja schon ein paar Vermutungen, aber vielleicht hilft das noch mal etwas weiter:

886 Heizkreis 1 - Norm Aussentemperatur: decoding error
887 Heizkreis 1 - Vorlaufsoll NormAussentemp: decoding error
888 Heizkreis 1 - dt Überhöhungsfaktor: decoding error
894 Heizkreis 1 - dt Spreizung Norm Aussent.: decoding error
895 Heizkreis 1 - dt Spreizung Maximum: decoding error
2201 Kessel - Erzeugersperre: error 7 (parameter not supported)
2444 Kessel - Leistung Minimum: unknown type
2445 Kessel - Leistung Nenn: unknown type
2451 Kessel - Brennerpausenzeit Minimum: unknown type
2459 Kessel - Sperrzeit dynam Schaltdiff: unknown type
2471 Kessel - Pumpennachlaufzeit HK's: unknown type
2540 Kessel - Proportionalbeiwert Kp TWW: unknown type
2543 Kessel - Proportionalbeiwert Kp HK's: unknown type
7001 Wartung/Sonderbetrieb - Meldung: unknown type
7011 Wartung/Sonderbetrieb - Repetitionszeit Meldung: unknown type
8750 Diagnose Verbraucher - Mod Pumpe Sollwert: error 7 (parameter not supported)
9550 Feuerungsautomat - Gebl'ansteuerung Stillstand: error 7 (parameter not supported)
Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/bsb_lan

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan