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

loetmeister

Hallo,

eine Frage - hoffe sie ist nicht zu banal  ;D
Meine Heizkreispumpe ist am Erweiterungsmodul ISR - AVS75.390/100 angeschlossen. Soweit ich das erkennen kann am Anschluss QX23. Das Modul ist als "Heizkreis 2" eingestellt.
Nun versuche ich den passenden Parameter zu finden, an dem ich ablesen kann ob die Pumpe läuft...
Ich denke 9052 "Relaisausgang QX23 Modul 1" klingt vielversprechend, leider stützt beim Auslesen der Arduino (ATmega) ab :)

{
  "9058": {
    "name": "Relaisausgang QX23 Modul 3",
    "error": 0,
    "value": "---",
    "desc": "Diagnose Verbraucher",
    "dataType": 1,
    "readonly": 1,
    "unit": ""
  },
  "9055": {
    "name": "Relaisausgang QX23 Modul 2",
    "error": 0,
    "value": "---",
    "desc": "Diagnose Verbraucher",
    "dataType": 1,
    "readonly": 1,
    "unit": ""
  },
  "9052": {
    "name": "Relaisausgang QX23 Modul 1",


Oder bin ich auf dem Holzweg?   ???

Gruß,
Thomas

n300

Servus Thomas,

also ich frage bei mir (wohlgemerkt für HK1) diesen Wert hier ab:
8730 Diagnose Verbraucher - Heizkreispumpe Q2
Auch diese Pumpe hängt bei mir an einem QX Kanal dran.

Die HK1 Pumpe ist eben als "Pumpe Q2" definiert an diesem QX Ausgang. Da ich keinen HK2 habe weiß ich leider nicht, wie das dort dann heißt. Wird zum Abfragen aber wohl auch irgendwo in diesem Nummernkreis zu finden sein.

Btw:
Der Rückgabewert ist bei mir 0 für Aus und 255 für Ein.

Zusatz2: Schau zur Sicherheit auch an deinem originalen Bedienteil nach, wie der QX23-Ausgang zugewiesen ist. Hatte hier bei mir auch schon den Fall, das BSB-LAN die genaue "Übersetzung" für exakt meinen Heizregler noch nicht unterstützt und dann auch was möglicherweise Falsches anzeigt. Hat mich auch schon auf die ein oder andere falsche Fährte geführt ;)

loetmeister

#5867
Danke für den Tipp. Leider bleibt bei der Abfrage für 8730 auch der Arduino hängen. Ich muss wohl eine neue Version nehmen... in der Zeit um Version 1.x und die Umstellung auf den Arduino Due hatte sich einiges beim JSON code geändert...

Nach dem Hinweis von freetz hatte ich mal mit FHEM 98_JsonMod.pm probiert... ist flexibler als 98_BSB, die automatische Auflistung der Kategorien im BSB Modul fand ich aber sehr praktisch.  :D
Mit JsonMod muss man sich die Werte zusammensuchen, Abfrage ist aber auch relativ simpel. Leider habe ich noch nicht geschafft die Programmnummer mit auszugeben, dass ein reading z.B. so "8700_Aussentemperatur" aussieht...

defmod Heizkessel_Temperaturen JsonMod http://user:passwort@192.168.1.66/JQ=8700,8314,8773,8830,8831
attr Heizkessel_Temperaturen readingList multi(jsonPath('$.*'), property('name'), property('value'))

2021-11-14 10:46:19 Aussentemperatur 8.0
2021-11-14 10:46:19 Kesselruecklauftemperatur_Ist 34.0
2021-11-14 10:46:19 Trinkwassersollwert 47.0
2021-11-14 10:46:19 Trinkwassertemperatur_1 55.7
2021-11-14 10:46:19 Vorlauftemperatur_2 31.2



defmod Heizkessel_Status JsonMod http://user:passwort@192.168.1.66/JQ=1600,2200,2206
attr Heizkessel_Status readingList multi(jsonPath('$.*'), property('name'), property('desc'))

2021-11-14 10:41:44 Betrieb/Standby Betrieb
2021-11-14 10:41:44 Betriebsart Automatik
2021-11-14 10:41:44 Trinkwasserbetrieb Ein


Gruß,
Thomas

n300


Schotty

@loetmeister: Huch, wieso schmiert der denn immer ab..? Passiert das (auch) bei der einfachen Abfrage via Webinterface?

Pumpe HK2 müsste eigtl 8760 sein.
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

n300

Zitat von: Schotty am 14 November 2021, 11:21:27
@loetmeister: Huch, wieso schmiert der denn immer ab..? Passiert das (auch) bei der einfachen Abfrage via Webinterface?

Das ist generell die Frage der Fragen :)
hast du vielleicht ein Stromproblem?

Bauerranger

Will euch ja nicht stressen, aber vielleicht kann sich einer , meiner annehmen?
Gruß Ranger

Zitat von: Bauerranger am 13 November 2021, 16:59:58
Hallo,

bräuchte mal wieder eure Hilfe. Hab die Woche mir mal ein Upgrade geleistet auf den Olimex ESP32. Hab mich nach besten Gewissen an die Anleitung gehalten. Leider bekomme ich folgende Fehlermeldung.Arduino: 1.8.16 (Windows Store 1.8.51.0) (Windows 10), Board: "OLIMEX ESP32-EVB, 80MHz, 115200, Minimal SPIFFS (Large APPS with OTA)"





















BSB_LAN:510:42: error: no matching function for call to 'EEPROMClass::EEPROMClass(const char [4], int)'

EEPROMClass EEPROM_ESP("nvs", EEPROM_SIZE);

                                          ^

In file included from C:\Users\bauerranger\Desktop\BSB-LAN-master\BSB_LAN\BSB_LAN.ino:502:

C:\Users\bauerranger\Documents\ArduinoData\packages\esp32\hardware\esp32\2.0.1\libraries\EEPROM\src/EEPROM.h:39:5: note: candidate: 'EEPROMClass::EEPROMClass()'

     EEPROMClass(void);

     ^~~~~~~~~~~

C:\Users\bauerranger\Documents\ArduinoData\packages\esp32\hardware\esp32\2.0.1\libraries\EEPROM\src/EEPROM.h:39:5: note:   candidate expects 0 arguments, 2 provided

C:\Users\bauerranger\Documents\ArduinoData\packages\esp32\hardware\esp32\2.0.1\libraries\EEPROM\src/EEPROM.h:38:5: note: candidate: 'EEPROMClass::EEPROMClass(const char*)'

     EEPROMClass(const char* name);

     ^~~~~~~~~~~

C:\Users\bauerranger\Documents\ArduinoData\packages\esp32\hardware\esp32\2.0.1\libraries\EEPROM\src/EEPROM.h:38:5: note:   candidate expects 1 argument, 2 provided

C:\Users\bauerranger\Documents\ArduinoData\packages\esp32\hardware\esp32\2.0.1\libraries\EEPROM\src/EEPROM.h:37:5: note: candidate: 'EEPROMClass::EEPROMClass(uint32_t)'

     EEPROMClass(uint32_t sector);

     ^~~~~~~~~~~

C:\Users\bauerranger\Documents\ArduinoData\packages\esp32\hardware\esp32\2.0.1\libraries\EEPROM\src/EEPROM.h:37:5: note:   candidate expects 1 argument, 2 provided

C:\Users\bauerranger\Documents\ArduinoData\packages\esp32\hardware\esp32\2.0.1\libraries\EEPROM\src/EEPROM.h:35:7: note: candidate: 'constexpr EEPROMClass::EEPROMClass(const EEPROMClass&)'

class EEPROMClass {

       ^~~~~~~~~~~

C:\Users\bauerranger\Documents\ArduinoData\packages\esp32\hardware\esp32\2.0.1\libraries\EEPROM\src/EEPROM.h:35:7: note:   candidate expects 1 argument, 2 provided

Mehrere Bibliotheken wurden für "WiFi.h" gefunden

Benutzt: C:\Users\bauerranger\Documents\ArduinoData\packages\esp32\hardware\esp32\2.0.1\libraries\WiFi

Nicht benutzt: C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.51.0_x86__mdqgnx93n4wtt\libraries\WiFi

exit status 1

no matching function for call to 'EEPROMClass::EEPROMClass(const char [4], int)'



Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.


Vielleicht könnt ihr mir helfen.

Danke schonmal

Gruß Ranger

DukeSS

Zitat von: Bauerranger am 14 November 2021, 17:27:33
Will euch ja nicht stressen, aber vielleicht kann sich einer , meiner annehmen?
Gruß Ranger

Hi, you should to install previous ESP32 SDK version (1.0.6) because 2.0.x has major changes in API.

freetz

Eine Frage mal wieder an die Elektr(on)iker in der Runde:
Wir passen BSB-LAN gerade an eine alte Schäfer InterDomo Heizung an, die ein etwas abgewandeltes PPS-Protokoll fährt (interessanterweise ist bei der Heizung die komplette Intelligenz im Raumgerät, einschließlich Berechnung der des Vorlauftemperatur-Solls). Ich habe dazu eine gebrauchte Steuerung gekauft, die inzwischen auch "trocken" läuft, allerdings nur fünf Minuten, dann geht sie in Störstellung, weil das Gebläse nicht die richtige Rückmeldung gibt.
Im Stromlaufplan sieht das ganze aus wie im Anhang abgebildet (das Quadrat in der Mitte mit "G" beschriftet). Es scheint, dass die Soll-Umdrehung über einen Spannungswert übermittelt wird, vermutlich die Pins X2.1 und X2.2. Die Frage ist, wie kann die Steuerung herausfinden, ob es mit dem Gebläse ein Problem gibt. Vermutlich über die verbleibenden beiden Pins, aber in welcher Form? Variabler Widerstand? Spannung? Falls da einer von Euch eine Idee hat, wäre das sehr hilfreich, denn so muss ich immer wieder alle fünf Minuten in den Keller, damit die Reset-Taste drücken 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

Mike_pa

Leider kein Anhang, habe aber in Netz einen Plan gefunden, bei dem ist die Belegung wie folgt angegeben:
X2. 1 PWM
X2. 2 -
X2. 3 +
X2. 4 Freq

Demnach scheint X2. 1 die PWM Ansteuerung zu sein, die Drehzahl kommt über X2. 4 als Frequenzsignal.

freetz

Stimmt, sorry, der Anhang fehlte, kommt hier noch nachgeliefert. Hast Du denn eine Vorstellung, wie die Steuerung dann aufgrund dieser Leitungen wissen kann, ob das Gebläse Probleme macht?
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

Mike_pa

Am Pin X2. 4 liefert das Gebläse ein Rechtecksignal, dessen Frequenz der Gebläse Drehzahl entspricht. Signalpegel und Frequenzbereich müßte man allerdings herausfinden.

freetz

Ok, das könnte ich mal schauen... Aber irgendwie muss die Steuerung doch eine Art "Rückkanal" haben, mit dem sie mitbekommt, ob das angelegte Signal auch wirklich in Umdrehungen umgesetzt werden konnte. Oder welche Möglichkeiten gäbe es, eine Störung im Gebläse sonst festzustellen?
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

Mike_pa

Der Rückkanal 8st X2. 4, Beispiel: die Steuerung liefert an X2. 1 ein pulsweitenmoduliertes Signal wodurch das Gebläse mit 500U/min laufen sollte. Im Gebläse ist ein Impulsgeber verbaut, der auf der Gebläse Welle sitzt und z. B. bei 500 U/min 500 Impulse pro Sekunde liefert, also 500 Hz. Pin X2. 4 ist für die Steuerung ein Eingang, an dem sie dieses Frequenzsignal (verm. bezogen auf X2. 2 -) messen kann. Da sie die Pumpe für 500U/min ansteuert, erwartet sie an X2. 4 ein Frequenzsignal von ca. 500 Hz. Kommt hier nichts oder ein Frequenzsignal, das deutlich von 500Hz abweicht, z. B. 400Hz, erkennt die Steuerung dies als Fehlfunktion des Gebläse.

freetz

Ah, super, danke! Das Problem wäre dann vermutlich, dass die Steuerung auch dann einen Fehler melden würde, wenn die gesendeten Impulse nicht dem Erwarteten entsprechen. Sonst hätte ich jetzt einfach einen Frequenzgenerator an die beiden Pins gehängt, aber das wird dann vermutlich nicht reichen :(...
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