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

TV-age

@freetz: Danke, dann werde ich nun mit meiner Bastelarbeit auf Deine 1.0.10 aufsetzen. ;-)

@Frank: ZACK! gekürzt .. und es hat geklappt Danke dafür. :)

TV-age

@freetz:  folgende Info zu  BSB-LAN an meiner ISR-SSR
1.0.10:       "/Q"      : Bricht nach "Starte Test..." ab !
                  "/K38"   : läuft bis "8388", dann erfolgt Abruch
                  " /8700": zeigt richtige Temperatur an
1.0.17 :     "/Q"      : der/die Tests lauften durch
                  "/K38"   : läuft durch
                  " /8700":  bringt wieder "--"!! :(

zu 1.0.17: "/ K38"    bei Aufruf gibt es unplausible Dropdown-Menüs!
[i]8300 Diagnose Erzeuger - 1. Brennerstufe T2: ---      DD:" Uhrzeit und Datum" ?!?
8301 Diagnose Erzeuger - 2. Brennerstufe T8: ---       DD:" Uhrzeit und Datum" ?!?
....
8304 Diagnose Erzeuger - Kesselpumpe Q1: ---         DD:" Uhrzeit und Datum" ?!?
[/i]

Könnt Ihr das mal prüfen? Was soll ich zur Unterstützung schicken?

tetzlav

Hallo,

ich setze die Raumtemperatur und die Außentemperatur über die INF Parameter 10000 und 10003. Das funktioniert super! Vielen Dank für die Funktionen.

Mein Frage ist jetzt erst mit der Nutzung des iobroker Adapters aufgefallen: Wenn ich die gesetzen Werte wieder über die virtuellen Parameter auslese, dann verhalten Sie sich unterschiedlich. Gibt es dafür eine Erklärung, speziell für das "error 7 (parameter not supported)"?

# wget http://192.168.178.8/JQ=10000 -qO -
{
  "10000": {
    "name": "Raumtemperatur 1",
    "value": "",
    "unit": "",
    "desc": "",
    "dataType": 0
  }
}


# wget http://192.168.178.8/JQ=10003 -qO -
{
  "10003": {
    "name": "Außentemperatur",
    "value": "18.0",
    "unit": "°C",
    "desc": "",
    "dataType": 0
  }
}


GET /JQ=10000 HTTP/1.1
/JQ=10000
Duration until answer received: 87
Message received, but not for us:
DC 80 7F 15 02 2F 00 02 11 00 00 FF FF FF FF FF FF 00 00 83 90
Duration until answer received: 213
LAN->HEIZ QUR 10000 Benutzerdefiniert -  Raumtemperatur 1:
DC C2 00 0B 06 3D 2D 02 15 79 5B
HEIZ->LAN ERR 10000 Benutzerdefiniert -  Raumtemperatur 1: error 7 (parameter not supported)
DC 80 42 0C 08 2D 3D 02 15 07 A2 8B

GET /JQ=10003 HTTP/1.1
/JQ=10003
Duration until answer received: 76
LAN->HEIZ QUR 10003 Benutzerdefiniert -  Au�ßentemperatur:
DC C2 00 0B 06 00 05 02 1F E2 19
HEIZ->LAN ANS 10003 Benutzerdefiniert -  Au�ßentemperatur: 18.0 °C
DC 80 42 0E 07 05 00 02 1F 00 04 80 68 B9

freetz

Die virtuellen Temperatur-Parameter (RT und AT) kannst Du nicht auf dem gleichen Weg auslesen. Dafür gibt es im Bereich 8xxx die entsprechenden Parameter.
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

@TV-age: Die DropDowns kann ich selber nicht prüfen, weil der Parameter bei mir nicht existiert, aber ich frage Sergej mal, der gerade die ENUMs vereinheitlicht, vielleicht kann er sich das erklären.
Was mich wundert, ist, warum 8700 nun nicht mehr funktionieren soll. In der aktuellen _defs.h ist für Parameter 8700 bei GF90/239 weiterhin eine abweichende CommandID hinterlegt. Da gab es aber ein bisschen ein Hin- und Her, weil Sergej noch nicht die Änderung von mir bei sich drin hatte, die "finale" Version kam heute (Samstag) kurz nach Mitternacht. Also ggf. noch mal aktualisieren und ansonsten bitte in beiden Versionen der _defs.h vergleichen, wo sich die Zeilen um Parameter 8700 herum (etwa ab Zeile 8390) unterscheiden. Evtl. hat sich dann auch das DropDown-Problem gelöst?

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

TV-age


TV-age

@freetz: Dein Hinweis in die BSB_Lan_defs.h zu schauen war gut!

ich habe die Zeile 8396 auskommentiert und die Temperatur ging wieder. Ich glaube, dass die Dev_090 nicht passt!
dier Code 0x0500021F ist auch dopplet - gewesen.
//{0x0500021F,  CAT_DIAG_VERBRAUCHER, VT_TEMP,          8700,  STR8700,  0,                    NULL,         DEFAULT_FLAG, DEV_090_ALL}, // [°C ] - Diagnose Verbraucher - Aussentemperatur


Anbei nochmals der Log der neuen Parameter "/Q"
Version: 1.0.18-20200615234734
Scanne nach Geräten...
Geräteadresse gefunden: 0
Geräteadresse gefunden: 10

Teste Geräteadresse 0:
Gerätefamilie: 90
Gerätevariante: 90
Geräte-Identifikation: RVS63.283/200
Software-Version: 3.5
Entwicklungs-Index: 30 (parameter not supported)
Objektverzeichnis-Version: 101.5
Bootloader-Version: 30 (parameter not supported)
EEPROM-Version: 20.0
Konfiguration - Info 2 OEM: 30 (parameter not supported)
Zugangscode Inbetriebnahme?: 30 (parameter not supported)
Zugangscode Fachmannebene ?: 30 (parameter not supported)
Zugangscode OEM?: 30 (parameter not supported)
Zugangscode OEM2?: 30 (parameter not supported)
Bisher unbekannte Geräteabfrage: 20
Hersteller-ID (letzten vier Bytes): 218462
Bisher unbekannte Geräteabfrage: 30 - unknown type
Außentemperatur (10003): --- °C
Außentemperatur (10004): 18.6 °C

6225;6226;6224;6220;6221;6227;6229;6231;6232;6233;6234;6235;6223;6236;6237;
90; 239; RVS63.283/200; 3.5; 30 (parameter not supported); 101.5; 20.0; 30 (parameter not supported); 30 (parameter not supported); 30 (parameter not supported); 30 (parameter not supported); 30 (parameter not supported); 20; 218462; 30 - unknown type;


Starte Test...
Test beendet.

Teste Geräteadresse 10:
Gerätefamilie: 92
Gerätevariante: 92
Geräte-Identifikation: AVS37.294/100
Software-Version: 6.8
Entwicklungs-Index: 30 (parameter not supported)
Objektverzeichnis-Version: 102.0
Bootloader-Version: 30 (parameter not supported)
EEPROM-Version: 30 (parameter not supported)
Konfiguration - Info 2 OEM: 30 (parameter not supported)
Zugangscode Inbetriebnahme?: 30 (parameter not supported)
Zugangscode Fachmannebene ?: 30 (parameter not supported)
Zugangscode OEM?: 30 (parameter not supported)
Zugangscode OEM2?: 30 (parameter not supported)
Bisher unbekannte Geräteabfrage: ---
Hersteller-ID (letzten vier Bytes): 1305414
Bisher unbekannte Geräteabfrage: 30 (parameter not supported)
Außentemperatur (10003): 41 (parameter not supported)
Außentemperatur (10004): 41 (parameter not supported)

6225;6226;6224;6220;6221;6227;6229;6231;6232;6233;6234;6235;6223;6236;6237;
92; 100; AVS37.294/100; 6.8; 30 (parameter not supported); 102.0; 30 (parameter not supported); 30 (parameter not supported); 30 (parameter not supported); 30 (parameter not supported); 30 (parameter not supported); 30 (parameter not supported); ---; 1305414; 30 (parameter not supported);


Starte Test...
Test beendet.

Fertig.


freetz

Also, ich weiß nicht, welche Version Du verwendest, aber in der aktuellen _defs.h gibt es zwei Zeilen, einmal die generelle für GF 90 und einmal eine für Deine spezifische Gerätevariante 239:
{0x0500021F,  CAT_DIAG_VERBRAUCHER, VT_TEMP,          8700,  STR8700,  0,                    NULL,         DEFAULT_FLAG, DEV_090_ALL}, // [°C ] - Diagnose Verbraucher - Aussentemperatur
{0x053D0521,  CAT_DIAG_VERBRAUCHER, VT_TEMP,          8700,  STR8700,  0,                    NULL,         DEFAULT_FLAG, DEV_090_239}, // [°C ] - Diagnose Verbraucher - Aussentemperatur

Wenn Du die Zeile mit GF 90 einfach nur auskommetierst, hast Du das Problem beim nächsten Update wieder drin, also schau' einfach, dass Du die aktuellste Version einspielst, dann sollte es gut sein.
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

TV-age

Hey freetz: Ich habe die aktuellste Version aufgespielt! (1.0.18 vom 15.5.2020. )
Es war nur eine Feststellung aufgrund meiner Beobachtung:
Wenn ich wie unten gezeigt (und nur so) auskommentiere, bekomme ich eine Anzeige der TEMP.
Ich habe auch andere Kombinationen ohne Erfolg probiert!

// Diagnose Verbraucher
{0x053D0521,  CAT_DIAG_VERBRAUCHER, VT_TEMP,          8700,  STR8700,  0,                    NULL,         DEFAULT_FLAG, DEV_ALL}, // [°C ] - Diagnose Verbraucher - Aussentemperatur
{0x0500021F,  CAT_DIAG_VERBRAUCHER, VT_TEMP,          8700,  STR8700,  0,                    NULL,         DEFAULT_FLAG, DEV_064_ALL}, // [°C ] - Diagnose Verbraucher - Aussentemperatur
//{0x0500021F,  CAT_DIAG_VERBRAUCHER, VT_TEMP,          8700,  STR8700,  0,                    NULL,         DEFAULT_FLAG, DEV_090_ALL}, // [°C ] - Diagnose Verbraucher - Aussentemperatur
{0x053D0521,  CAT_DIAG_VERBRAUCHER, VT_TEMP,          8700,  STR8700,  0,                    NULL,         DEFAULT_FLAG, DEV_090_239}, // [°C ] - Diagnose Verbraucher - Aussentemperatur
{0x0500021F,  CAT_DIAG_VERBRAUCHER, VT_TEMP,          8700,  STR8700,  0,                    NULL,         DEFAULT_FLAG, DEV_097_100}, // [°C ] - Diagnose Verbraucher - Aussentemperatur

Die dazugehörigen >>neuen Parameter "/Q"<< kannst Du im Mail von gestern sehen.

Kann sein, dass die spezifische Gerätevariante 239 nicht richtig ist?
Ich meine es wird er Code 0x053D0521 zur Abfrage der Temp. benötigt!

freetz

Sorry, jetzt noch mal Deinen /Q Output gesehen - stimmt, Du hast ja nicht GF90/239, sondern  90/90. Hab's jetzt geändert, so dass es jetzt direkt funktionieren sollte...
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

TV-age


dj_eike

Hallo und Moin moin zusammen,
ich bin mir nicht ganz sicher, ob ich hier richtig bin mit meinem Thema.
Ich möchte mich gerne an die Entwickler der BSB-Lan-Adapter Firmware wenden.
Vorab vielen Dank an den super Einsatz aller Entwickler und Mithelfer. Das ist ein super
Projekt und es bleiben kaum Fragen offen, weil eine richtig gute Dokumentation dabei ist.! TOP!!

Ich selbst nutze das Abfragen einiger Parameter aus meiner Brötje Heizung über die Variable "log_parameters" in der BSB_lan_config.h mit einem Intervall von 60 Sekunden.
Das klappt auch soweit ganz gut. Die Daten werden über MQTT an einen Broker gesendet, dann im weiteren Verlauf über einen Raspi in eine SQL geschrieben, auf die dann
ein vorhandenes Grafana-Backend drauf zugreift. Das soll hier aber gar nicht das Thema sein.

Die Abfrage durch den Arduino läuft los und dauert bei 20 Messpunkten auch einige Sekunden. Erst am Ende der Abfragen wird die Variable zum neu setzen der Millisekunden befüllt.
Daraus ergibt sich, dass sich das Intervall immer weiter nach hinten verschiebt, also 60 Sekunden + Abfragezeit. In meinen Augen wäre es sinnvoll, dass diese Variable gleich
zu Anfang befüllt wird. Dauert die Abfrage dann zb 15 Sekunden, geht es direkt nach weiteren 45 Sekunden direkt wieder los.

Dazu habe ich für mich im Quellcode die Zeile "lastMQTTTime = millis();" direkt an den Anfang der betroffenen if-Abfrage geschoben. Für mich ist das so sinnvoller, damit man für das Grafana-Backend im Takt bleibt.


  if ((((millis() - lastMQTTTime >= (log_interval * 1000)) && log_interval > 0) || log_now > 0) && numLogValues > 0) {
  lastMQTTTime = millis(); // Eike meint, hier ist das besser! ;-)


Es wäre cool, wenn das vielleicht diskutiert wird und ggf. in eine kommenden Version mit aufgenommen werden kann.
Danke und viele Grüße aus dem Ammerland

Eike


freetz

Macht natürlich Sinn und ist jetzt so geändert. Danke für den Hinweis!
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

carbonara

#4753
Moin,
ich habe den Adapter seid Anfang 2020 in Betrieb (v2 Hardware mit Mega 2560 mit Vers0.43). Das Logging auf der SD-Karte funktionierte ganz anständig bis vor ein paar Wochen immer größere "Pausen" in den Kurven auftraten. Inzwischen kommt nur noch "query failed" im ser. Monitor. Die LED des Adapters leuchtet, man erkennt ein sehr kurzes Flackern. Ich habe die Version 0.44 probiert: kein Erfolg. Meine Heizung ist eine MHG
const int fixed_device_family = 195;
const int fixed_device_variant = 1;

Frage: könnten die Eingänge des Megas schlapp gemacht haben? Beim Flashen bekomme ich keine Fehlermeldungen.

Danke für die Hilfe vorab!
Gruß markus

PS: ab wo muß ich für die version 3 anfangen zu lesen? Das Forum ist recht unübersichtlich...
BSB-LAN: Arduino DUE , Volkszähler, Synology DS920+

freetz

Hallo Markus,

gibt es einen Grund, warum Du die Gerätefamilie fest einträgst? Das sollte eigentlich nur in sehr speziellen Fällen nötig/sinnvoll sein.
Vorausgesetzt, Du hast die MHG über BSB angeschlossen: Siehst Du dann ca. alle 10 Sekunden Telegramme eintrudeln? Wenn ja, und es vorher ging, dann ist irgendwo ein Wackler im TX-Pfad, d.h., die Nachrichten kommen nicht an der Heizung an, und dann kommt logischerweise keine Antwort. Wenn Du aber schon keine Telegramme im SerMo siehst, ist (mindestens) im RX-Pfad ein Problem.
An der Software wird es höchstwahrscheinlich nicht liegen, die haben gerade noch sehr viele Leute im Einsatz. v3 fing im Forum hier im April oder Mai glaube ich an.
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