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

sust

@dsigg:

ZitatDSP1->HEIZ SET  632 Ferien Heizkreis 1 - Periode 1 Beginn Tag/Monat: ---
DC 8A 00 14 03 3D 05 09 C4 05 00 01 08 00 00 00 00 17 7E FC

Das zeigt, das deine Heizung nach der bekannten Syntax für die vacationtimeprog funktioniert.
So ist das auch in der BSB_lan Software lange Zeit genutzt worden. Wie es zu den Änderungen gekommen ist, ich weiss es nicht.
Eine Vermutung wäre das Verhalten meiner Heizung: Denn da funktioniert auch dein über BSB_lan Befehl ausgelöster 2ter Befehl einwandfrei zur Deaktivierung der vacationtime.
Da du der Erste bist der sich mit dem Problem meldet, nehme ich an, das dies bei vielen anderen Usern von BSB_lan so ist wie bei mir. Die Heizung richtet sich allein nach der "05" zu Beginn des payload zur Deaktivierung und führt keine Plausibilitätsprüfung durch.
Bei dir schon.
Wenn es ohne Plausprüfung funktioniert, könnte man auf die Idee kommen ,außer der 05 am Anfang einen "Platzhalter" zu schicken, der nur die richtige Telegrammlänge sicherstellt.

Wie hab ich dein 2tes Telegramm meiner Heizung zugeschickt?
Dazu hab ich den Y03 Befehl verwendet.
Mein gesamter Befehl sah so aus:

http://<IP-BSBlan>/<passwort-wenn-aktiv>/Y03,053D09C4,0593FFFF03FFFFFF00

Wobei die Syntax so ist: ..../<Befehl>,<CmID>,<payload>

Dies entspricht bei mir dem Befehl
http://<IP-BSBlan>/<passwort-wenn-aktiv>/S632=

Genau diesen Y03 Befehl könntest du bei dir verwenden um rauszubekommen woran sich deine Heizung stört. So der Y03 bei dir funktioniert...
Mein Verdachtsfall 1: Das Datum vom 256. Tag im 256.Monat(FF FF) auf den plausiblen 8. Januar zu setzen.
Verdachtsfall 2: die 17 am Ende des payload.

Probier das Ganze halt mal aus.

Gruß


dsigg

Hallo zusammen
Nach Vergleich mit dem, was das Bediengerät an der Heizung sendet habeich nun den Code in "BSB_LAN.ino", Funktion "set(...)" so angepasst,
dass beim Löschen der Feriendaten (Paramater 632 und folgende) möglichst das selbe Telegramm gesendet wird.
Im orginal Code werden Jahr, Monat, ... bis Sekunde mit 0xFF initalisiert. Dabei wird dann das jahr noch Minus 1900 gerechnet, was schlussendlich 0x93 ergibt  :(
Neu setzte ich jetzt:
Jahr = 0
Monat = 1 (0 hat nicht funktioniert)
Tag = 1  (0 hat nicht funktioniert)
Day of week = 0
Stunden = 0
Minuten = 0
Sekunden = 0

Und siehe da: das Löschen funktioniert!

Falls das bei anderen Heizungstypen auch geht könntet ihr diese Änderung übernehmen.

Gruss
  Dani

dsigg

@sust:
Danke für deine Antwort. Habe ich erst jetzt gesehen nachdem ich schon eine Lösung hatte.

Mit Y03,053D09C4,0593FFFF03FFFFFF00 geht es nicht.
So wie ich das sehe müssen plausible Werte übermittelt werden, obwohl diese beim Löschen ja eigentlich keine Rollen spielen.
Mit alles 0 ausser Tag und Monat auf 1 funktioniert es.
Wenn die plausibeln Werte anstelle 0xFF beim Löschen bei anderen Heizungen nicht stören könnte das so übernommen werden.

Gruss
  Dani

freetz

@sust und @dsigg: Danke für Eure Erkenntnisse!
Ich habe vor einiger Zeit die diversen Zeitprogramm-Funktionen zusammengefasst, dabei ist dieser Fall wohl hinten untergefallen. @dsigg: Könntest Du bitte mal folgendes probieren:
Die Zeile
int d = 0xFF; int m = d; int y = d; int hour = d; int min = d; int sec = d;
durch diesen Block ersetzen:

      int d = 0xFF;
      if (decodedTelegram.type == VT_DAYMONTH) {
        d = 0;
      }
      int m = d; int y = d; int hour = d; int min = d; int sec = d;


Möglicherweise funktioniert auch das immer noch nicht, weil param[1] dann immer noch als Jahr 0 - 1900 ausgibt. In dem Fall könntest Du dann bitte probieren, ob statt d = 0 ein d = 1 funktioniert? Bitte dann auch immer sowohl das Setzen/Ändern als auch Löschen prüfen. Danke!
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

Malz1902

Ausgabe von /Q

Luft/Wasser Wärmepumpe «KOMFORT» Zewotherm

Hydraulikeinheit :
Fujitsu WSYA100DG6
Außeneinheit :
Fujitsu WOYA080LFCA


Version: 2.0.88-20210214092042
Scanne nach Geräten...
Geräteadresse gefunden: 0
Geräteadresse gefunden: 10

Teste Geräteadresse 0...
Gerätefamilie: 211
Gerätevariante: 127
Geräte-Identifikation: RVS21.831F/127
Software-Version: 8.5
Entwicklungs-Index: 000001 - decoding error
Objektverzeichnis-Version: 402.4
Bootloader-Version: 4.0
EEPROM-Version: ---
Konfiguration - Info 2 OEM: 0
Zugangscode Inbetriebnahme?: 0
Zugangscode Fachmannebene ?: 0
Zugangscode OEM?: 34121
Zugangscode OEM2?: 44444
Bisher unbekannte Geräteabfrage: 20
Hersteller-ID (letzten vier Bytes): 113326
Bisher unbekannte Geräteabfrage: 10010000C8 - unknown type
Außentemperatur (10003): 19.4 °C
Außentemperatur (10004): 19.4 °C
6225;6226;6224;6220;6221;6227;6229;6231;6232;6233;6234;6235;6223;6236;6237;
211;127;RVS21.831F/127;8.5;;402.4;---;0;0;0;34121;44444;20;113326;10010000C8;


Starte Test...

5960 - Konfiguration - Funktion Eingang H2
0x053D0D95
DC C2 00 0B 06 3D 05 0D 95 D7 8A
DC 80 42 0D 07 05 3D 0D 95 00 00 9D FB

Test beendet.

Teste Geräteadresse 10...
Gerätefamilie: 118
Gerätevariante: 235
Geräte-Identifikation: AVS37.394/327
Software-Version: 7.2
Entwicklungs-Index: (parameter not supported)
Objektverzeichnis-Version: 102.0
Bootloader-Version: (parameter not supported)
EEPROM-Version: (parameter not supported)
Konfiguration - Info 2 OEM: (parameter not supported)
Zugangscode Inbetriebnahme?: (parameter not supported)
Zugangscode Fachmannebene ?: (parameter not supported)
Zugangscode OEM?: (parameter not supported)
Zugangscode OEM2?: (parameter not supported)
Bisher unbekannte Geräteabfrage: ---
Hersteller-ID (letzten vier Bytes): 1618224
Bisher unbekannte Geräteabfrage: (parameter not supported)
Außentemperatur (10003): °C (parameter not supported)
Außentemperatur (10004): °C (parameter not supported)
6225;6226;6224;6220;6221;6227;6229;6231;6232;6233;6234;6235;6223;6236;6237;
118;235;AVS37.394/327;7.2;;102.0;;;;;;;---;1618224;;


Starte Test...

Test beendet.

Fertig.

freetz

Danke! Könntest Du bei Gelegenheit auf eine etwas aktuellere Version updaten? Wir haben die Prüfung auf neue Parameter noch einmal deutlich erweitert, und da Deine RVS21 nicht allzu häufig ist, wäre es schön, hier einen kompletten Abruf zu haben. Danke!
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

sust

@dsigg:

ZitatMit Y03,053D09C4,0593FFFF03FFFFFF00 geht es nicht.

Daniel, heisst das Y03 funktioniert bei dir garnicht oder das resultierende Telegramm wird von der Heizung nicht akzeptiert?

Wenn das 2te richtig ist , wäre das nicht funktionieren ja aber "normal", da du ja das wiederholt hast, was deine BSB_lan Software auch macht.

Der große Vorteil von Y03 ist, das man seine Versuche nicht in der BSB_lan Software testweise unterbringen und alle Versuche einzeln flashen muss.

Gruß

dsigg

@sust:
Y03 geht schon, der Befehl zum löschen Feriendatum aber so nicht. Wie es nun geht habe ich ja bereits raus bekommen, siehe Beitrag von gestern.

@freetz:
Das reicht so nicht. Es muss Tag und Monat auf einem möglichen, sinnvollen wert stehen (z.B. 1.1), alle anderen auf 0.
Insbesondere muss auch DayOfWeek auf 0 stehen. Weiter unten im Code kommt:
param[4]=dayofweek(d,m,y);
Da kommt immer etwas anderes als 0 zurück.
Zur besseren Übersicht meine Änderungen als Diff Bild im Anhang.

Gruss Dani

sust

@dsigg:

Wenn du schon alle Varianten durchgetestest hast, macht ein erneutes testen via Y03 keinen Sinn mehr.
Ich hatte deine Beiträge so interpretiert, das du die Softwaränderungen aus dem von dir mitgeschnittenen Telegramm der Bedieneinheit abgeleitet hast. Dann wäre ein teilweises ändern und testen interessant gewesen.

Verbklüffend für mich ist, das von "0" Plausibiltätsprüfung bei meiner Thision S (Gerätefamilie 97, Variante 136) zu  einer kompletten Überprüfung der Telegrammstruktur und einer Plausibilitätsprüfung des Datums bei deiner Thision S13 Plus gewechselt wurde.... 

Da die Ferienzeitgeschichte ja zu den Datum/Zeittelegrammen gehört laufen die 0 - 6er Kommandos denn bei dir ?   



freetz

Sehr seltsam, ich habe es gerade bei meiner Thision S17.1 mit LMU74 noch einmal getestet, das hier ist die Ausgabe des SerMo-Logs:
GET /4444/S632=01.04 HTTP/1.1                                                   
set ProgNr 632 = 01.04                                                         
day/month: 1.4.                                                                 
setting line: 632 val: 06 93 04 01 07 FF FF FF 17                               
LAN->HEIZ SET  632 Ferien Heizkreis 1 - Periode 1 Beginn Tag/Monat: ---         
DC C2 00 14 03 3D 05 09 C4 06 93 04 01 07 FF FF FF 17 75 42                     
HEIZ->LAN ACK  632 Ferien Heizkreis 1 - Periode 1 Beginn Tag/Monat:             
DC 80 42 0B 04 05 3D 09 C4 14 4E                                               
LAN->HEIZ QUR  632 Ferien Heizkreis 1 - Periode 1 Beginn Tag/Monat:             
DC C2 00 0B 06 3D 05 09 C4 51 9A                                               
HEIZ->LAN ANS  632 Ferien Heizkreis 1 - Periode 1 Beginn Tag/Monat: 01.04.     
DC 80 42 14 07 05 3D 09 C4 00 FF 04 01 FF FF FF FF F7 69 6A                     
#632: 01.04.                                                                   
               
GET /4444/S632= HTTP/1.1                                                       
set ProgNr 632 =                                                               
setting line: 632 val: 05 93 FF FF 03 FF FF FF 00                               
LAN->HEIZ SET  632 Ferien Heizkreis 1 - Periode 1 Beginn Tag/Monat: ---         
DC C2 00 14 03 3D 05 09 C4 05 93 FF FF 03 FF FF FF 00 C6 7E                     
HEIZ->LAN ACK  632 Ferien Heizkreis 1 - Periode 1 Beginn Tag/Monat:             
DC 80 42 0B 04 05 3D 09 C4 14 4E                                               
LAN->HEIZ QUR  632 Ferien Heizkreis 1 - Periode 1 Beginn Tag/Monat:             
DC C2 00 0B 06 3D 05 09 C4 51 9A                                               
HEIZ->LAN ANS  632 Ferien Heizkreis 1 - Periode 1 Beginn Tag/Monat: ---         
DC 80 42 14 07 05 3D 09 C4 01 FF 04 01 FF FF FF FF F7 82 49                     
#632: ---                                           


Das Ganze wird also problemlos gesetzt und wieder gelöscht - mit exakt dem gleichen Telegramm, was bei Dir auch gesendet wird. Da scheint Siemens dann wohl wirklich eine Plausibilitätsprüfung eingebaut zu haben. Kannst Du dafür bitte mal ein Issue auf GitHub aufmachen? Im Moment habe ich nicht so viel Zeit, um mich gleich darum zu kümmern, und dann fällt es nicht aus dem Blickfeld. Danke!
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

Malz1902

Zitat von: freetz am 15 Juli 2021, 10:56:46
Danke! Könntest Du bei Gelegenheit auf eine etwas aktuellere Version updaten? Wir haben die Prüfung auf neue Parameter noch einmal deutlich erweitert, und da Deine RVS21 nicht allzu häufig ist, wäre es schön, hier einen kompletten Abruf zu haben. Danke!

Mache ich. Könntet Ihr ne Möglichkeit einbauen, dass man Over the Air flashen kann? So das die Einstellungen direkt erhalten bleiben? Muss jetzt erstmal meine Config suchen vom letzten Update damit die nicht weg sind^^

freetz

Das würde wenn, dann nur beim ESP funktionieren, und die sind (zumindest noch) in der deutlichen Minderheit der eingesetzten Systeme im Einsatz. Für alle Systeme ist es möglich, das über avrdude bzw. esptool über die serielle Schnittstelle zu machen. Bei mir hängt BSB-LAN an meiner NAS und so kann ich dann von dort aus die Updates einspielen.
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

Schotty

Zitat von: n300 am 30 Juni 2021, 07:45:59
Zu dem Message Queuing hab ich mir im Node Red jetzt was gebastelt, was ganz gut zu funktionieren scheint.
...

@n300: Da ich mich mit NodeRed nicht auskenne: Im Handbuch habe ich ja derzeit nur das NodeRed-Modul von User Konrad verlinkt. Insofern stehe ich da ein wenig auf dem Schlauch, was/wie ich deine Lösung im Handbuch mit erwähnen/verlinken sollte und inwiefern das eine Erweiterung(?) vom Modul oder eine unabhängige Lösung darstellt. Falls es eine Erweiterung wäre, wäre es vielleicht besser, das generell mit ins Modul einzubinden?
Prinzipiell kann ich deine Lösung natürlich gerne mit ins Handbuch aufnehmen, würde dann aber gerne mit dir nochmal abklären, was/wie das geschehen soll. Wenn du magst, schick mir am besten eine Email, dann können wir das näher besprechen.
Gruß
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

dsigg

@sust:
0-6:
0 bis 4 setzen Werte ist OK. Löschen macht da keinen Sinn, das muss deshalb auch nicht gehen.
5 & 6, Sommerzeit Start-Ende:
Es geht weder setzen noch löschen, auch nicht wenn ich die ungenutzten Parameter wie beim 632 auf 0 setze oder alles auf FF.
Wenn ich 5 & 6 ab Bediengerät der Therme ändere, ist nur ein INF zu sehen. Da sind alle unbenutzten Parameter FF.
Kommentar in BSB_LAN_defs.h dazu:
// Sommerzeit scheint im DISP gehandelt zu werden
// Bei Anzeige werden keine Werte abgefragt. Bei Änderung wird ein INF geschickt.
Könnte also auch sein, dass es gar nicht möglich ist 5 & 6 ab BSP-LAN zu setzen.
Löschen geht da übrigens auch beim Bediengerät nicht.

@freetz:
Issue auf github habe ich erstellt.

Gruss
  Dani

freetz

Zitat@freetz:
Issue auf github habe ich erstellt.

Hm, auf https://github.com/fredlcore/BSB-LAN/issues sehe ich aber nichts?
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