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

Danke für die Rückmeldung - noch ein paar Nachfragen dazu:

1. Schicke bitte mal den kompletten Auszug zu MQTT aus der _config.h, also auch die Parameter wie MQTTBrokerIP. Und werden denn Daten an den Broker übertragen, wenn Du MQTTJSON und MQTTDevideID weglässt (dann natürlich nicht in JSON)?

2. Ich meine mich zu erinnern, dass ich nicht alle unbekannten Parameter ausgeblendet habe, sondern nur die, die Werte doppelt anzeigen würden. Alles andere würde dem widersprechen, wie ich sonst bisher verfahren habe, nämlich, dass unbekannte Parameter generell nicht deaktiviert werden, sondern dann (rein optisch) über #define HIDE_UNKNOWN ausgeblendet werden. So würde ich auch weiterhin bei 6823 etc. verfahren.

Wenn 6811 also der einzige Parameter ist, bei dem es dann jetzt noch Probleme gibt, dann bräuchte ich dafür die CommandID, die bei Dir angezeigt wird, wenn Du im SerMo 6811 aufrufst, und dazu noch Deine Gerätevariante, damit ich das entsprechend hinterlegen 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

FunkOdyssey

Zitat von: freetz am 16 März 2020, 07:09:12
1. Schicke bitte mal den kompletten Auszug zu MQTT aus der _config.h, also auch die Parameter wie MQTTBrokerIP.

// Activate sending log_parameters to MQTT broker every log_interval seconds
#define MQTTBrokerIP 192,168,0,99 // Please use commas insteaf of dots!!!
#define MQTTUsername "mqtt" // Set username for MQTT broker here or comment out if no username/password is used.
#define MQTTPassword "p@ssw0rd" // Set password for MQTT broker here or comment out if no password is used.
#define MQTTTopicPrefix "BSB" // Choose the "topic" for MQTT messages here
#define MQTT_JSON // Optional: Use this if you want a json package of your logging infomation printed to the mqtt topic
#define MQTTDeviceID "Broetje" // Optional: Define a device name to use as header in json payload. If not defined, BSB-LAN will be used.
// Payload will be of the structure: {"MQTTDeviceID": {"status":{"log_param1":"value1","log_param2":"value2"}, ...}}


Zitat von: freetz am 16 März 2020, 07:09:12
Und werden denn Daten an den Broker übertragen, wenn Du MQTTJSON und MQTTDevideID weglässt (dann natürlich nicht in JSON)?
Ja, aber ich teste das lieber noch einmal in Ruhe. Vielleicht war ich auch zu ungeduldig und habe nicht auf das Intervall gewartet. Ich bin mir sicher, dass ich mehr als üblich gewartet habe, aber bitte investiere noch nicht zu viel Zeit.

Zitat von: freetz am 16 März 2020, 07:09:12
2. Ich meine mich zu erinnern, dass ich nicht alle unbekannten Parameter ausgeblendet habe, sondern nur die, die Werte doppelt anzeigen würden. Alles andere würde dem widersprechen, wie ich sonst bisher verfahren habe, nämlich, dass unbekannte Parameter generell nicht deaktiviert werden, sondern dann (rein optisch) über #define HIDE_UNKNOWN ausgeblendet werden. So würde ich auch weiterhin bei 6823 etc. verfahren.

Okay. Die unbekannten 6823 etc. würden mich aber auch nicht wirklich stören. Ist ja eher eine optische Sache.

Zitat von: freetz am 16 März 2020, 07:09:12
Wenn 6811 also der einzige Parameter ist, bei dem es dann jetzt noch Probleme gibt, dann bräuchte ich dafür die CommandID, die bei Dir angezeigt wird, wenn Du im SerMo 6811 aufrufst, und dazu noch Deine Gerätevariante, damit ich das entsprechend hinterlegen kann.

Gerätefamilie und Variante:

static const int fixed_device_family = 162;
static const int fixed_device_variant = 14;


Ich habe glücklicherweise primär hier und hier alles wiedergefunden.

Es ist ja nicht nur 6811 falsch zugeordnet. Es fehlt auch 6815.


6810
Fehler
Historie 2
110: Störabschaltung STB
13:55
15.10.2016
558320 DC 8A 00 0B 06 3D 05 06 D4 BB 9F
558392 DC 80 0A 14 07 05 3D 06 D4 00 74 0A 0F 00 0D 37 00 04 09 38
558530 DC 8A 00 0B 06 3D 05 08 15 51 FD
558670 DC 80 0A 0E 07 05 3D 08 15 00 00 6E CF 06

6815
Fehler
SW Diagnosecode 2
426
FA Phase 2
16
569635 DC 8A 00 0B 06 3D 05 2F F7 13 E0
569718 DC 80 0A 0E 07 05 3D 2F F7 00 01 AA 63 1D
569820 DC 8A 00 0B 06 3D 05 2F F6 03 C1
569912 DC 80 0A 0D 07 05 3D 2F F6 00 10 E1 F1


freetz

Danke für die Rückmeldung, nur kurz: In Deiner vorherigen Nachricht hattest Du nur geschrieben, dass 6811 falsch zugeordnet ist, jetzt schreibst Du, das 6815 fehlt, dann kommt im Log noch der 6810. Was ich bräuchte, ist eine komplette Auflistung der Parameter, die falsch zugeordnet sind und derjenigen, die fehlen, jeweils mit dem SerMo Log.
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

FunkOdyssey

6811 ist doch die Fortschreibung von 6810.
die Therme kennt kein 6811. Du hast doch überall ein Inkrement +1 genommen, um die Parameter zu trennen. Das Log von 6810 beinhaltet beide 6810+6811.


6815 fehlt und deswegen auch mein Log.

freetz

Ah, ok, danke, dann kümmere ich mich mal darum...
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

Joerg_1970

Hallo zusammen. Bitte erschlägt mich jetzt nicht direkt. Aber ich hab jetzt schon alles durchsucht und komme einfach nicht auf eine Lösung. Ich habe an meinem Ardu ein DHT22 angeschlossen. Die Werte werden auch unter der <URL>/T angezeigt. Wie bekomme ich die Werte jetzt in FHEM angezeigt? Um damit weitere Devices zu steuern?  Danke euch schon mal...

Grüße und bleibt gesund,

Jörg

freetz

@Joerg_1970: Über HTTPMOD. Einfach die im Handbuch gezeigten Beispiele auf die Ausgabe der /T Webseite anpassen.

@FunkOdyssey: Ich habe jetzt die Parameter 6811 und 6815 für Deine Konfiguration angepasst, kannst Du mal prüfen, ob jetzt alles passt, wie es soll?

VG und bleibt gesund!
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

FunkOdyssey

Zitat von: freetz am 29 März 2020, 12:45:41
@FunkOdyssey: Ich habe jetzt die Parameter 6811 und 6815 für Deine Konfiguration angepasst, kannst Du mal prüfen, ob jetzt alles passt, wie es soll?

Das is super. Es funktioniert. Danke dir. Im Code hast du übrigens meinen Namen zur Differenzierung erwähnt. Nur zur Info. Ich habe eine Broetje WBS 22 E. So steht es im Code auch eine Zeile darüber.

Zitat von: FunkOdyssey am 16 März 2020, 12:48:12
// Activate sending log_parameters to MQTT broker every log_interval seconds
#define MQTTBrokerIP 192,168,0,99 // Please use commas insteaf of dots!!!
#define MQTTUsername "mqtt" // Set username for MQTT broker here or comment out if no username/password is used.
#define MQTTPassword "p@ssw0rd" // Set password for MQTT broker here or comment out if no password is used.
#define MQTTTopicPrefix "BSB" // Choose the "topic" for MQTT messages here
#define MQTT_JSON // Optional: Use this if you want a json package of your logging infomation printed to the mqtt topic
#define MQTTDeviceID "Broetje" // Optional: Define a device name to use as header in json payload. If not defined, BSB-LAN will be used.
// Payload will be of the structure: {"MQTTDeviceID": {"status":{"log_param1":"value1","log_param2":"value2"}, ...}}

Ja, aber ich teste das lieber noch einmal in Ruhe. Vielleicht war ich auch zu ungeduldig und habe nicht auf das Intervall gewartet. Ich bin mir sicher, dass ich mehr als üblich gewartet habe, aber bitte investiere noch nicht zu viel Zeit.

Ich habe nun auch die Gelegenheit genutzt und MQTT_JSON wie auch MQTTDeviceID  aktiviert.
Leider ohne Erfolg. Es kommt nichts an im MQTT-Server.

freetz

Prima, freut mich, wenn es jetzt passt - und ja, Deinen Nick hatte ich mit aufgenommen, weil ich dann weiß, wo ich bei der nächsten Änderung von GF 162 noch mal rückfragen sollte ;)...

Das mit MQTT_JSON ist seltsam, kommt denn ohne das Definement etwas beim MQTT-Server an (also nur mit den MQTT Basis-Einstellungen)?
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

FunkOdyssey

Zitat von: freetz am 29 März 2020, 20:12:22
Das mit MQTT_JSON ist seltsam, kommt denn ohne das Definement etwas beim MQTT-Server an (also nur mit den MQTT Basis-Einstellungen)?

Ohne MQTTDeviceID und ohne MQTT_JSON: Ja
Einzeln kann ich gerade nicht testen.

freetz

Ok, danke - wenn Du es noch mal mit beiden versuchst und Du Zugriff auf den Seriellen Monitor hast, müsste dort eigentlich bei jedem Senden die Meldung "Output topic" und "Payload Output" kommen, mit den entsprechenden Inhalten, die dann übertragen werden. Könntest Du die mal posten? Das wäre sehr hilfreich.
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

Und ich habe gerade noch mal mit dem User gesprochen, der die Änderung programmiert hat: Dazu musste in der Datei /src/PubSubClient/PubSubClient.h die Zeile
#define MQTT_MAX_PACKET_SIZE
auf 1024 geändert werden. Das ist bei meinem Master-Repository auch der Fall. Kann es aber sein, dass Du dieses Unterverzeichnis vielleicht nicht aktualisiert hast? Wenn da nur 128 steht, ist das jedenfalls der Grund, warum nichts ankommt, weil der Buffer für den langen JSON-String zu klein ist.
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

Und er schreibt noch dazu, nachdem er es noch mal positiv mit dem aktuellen Master-Branch getestet hat:

ZitatFirstly, as mentioned, this is the behaviour if the array is too small. The PubSubClient implementation will simply discard the payload with no error or anything. The other thing to look for is the output on the serial monitor.
That said, you will still see these even if the array size (above) is too small as the publish happens directly after the "Payload Output" serial print statement.

Finally, the user needs to take note of the mqtt topic. While we allow the topic prefix to the configured in the BSB_lan_config.h, the final output arrives on the configured prefix + /json as shown above on the console as well. So it's possible the user could be watching the wrong topic for the output.
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

Joerg_1970

@freetz

Danke für die Antwort. Dann probier ich mal weiter...

FunkOdyssey

Zitat von: freetz am 30 März 2020, 09:29:38
Und ich habe gerade noch mal mit dem User gesprochen, der die Änderung programmiert hat: Dazu musste in der Datei /src/PubSubClient/PubSubClient.h die Zeile
#define MQTT_MAX_PACKET_SIZE
auf 1024 geändert werden. Das ist bei meinem Master-Repository auch der Fall. Kann es aber sein, dass Du dieses Unterverzeichnis vielleicht nicht aktualisiert hast? Wenn da nur 128 steht, ist das jedenfalls der Grund, warum nichts ankommt, weil der Buffer für den langen JSON-String zu klein ist.

Ich bin mir eigentlich sicher, dass ich alles neu aufgesetzt und die Config zeilenweise angepasst habe.
Aber ich werde das heute Abend prüfen.