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

Maista

Zitat von: Schotty am 05 Mai 2020, 17:08:21
Hi Gerd,

oha, langer&anstrengender Tag..  :(

Abfrage erfolgt per Httpmod.

Gruß
Ja. War auch noch ein 7km Stau von LKWs dazwischen :o

Wenn du nur Daten abfragen willst, probier doch das Modul.
Trotz Beta Status funktioniert das bei mir ohne Probleme.
Ich habe im Source allerdings das Abfrage Intervall etwas verlängert.

Gruß Gerd

Schotty

Nee, das Modul hatte ich extra wieder rausgenommen und es nun via HTTPMOD und JSON gemacht. Wenn ich doch irgendwann mal was setzen oder die Sicherheitsfunktionen von BSB-LAN nutzen will, muss ich sonst wieder komplett von vorne anfangen. Das Modul wird vermutlich ja auch via HTTPMOD abfragen.
Abfrageintervalle sind alle unterschiedlich (ok fast - Brennerstatus Stufe1&2 bspw frage ich gleichzeitig/in einem Rutsch ab), um Kollisionen weitestgehend zu vermeiden..
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

Scherheinz

Also Timeout Probleme hab ich eigentlich keine. Muss aber auch sagen das der BSB LAN direkt neben dem Raspberry sitzt und nur ein kleines Switch dazwischen hängt. Also kein Router oder gar eine WLAN Verbindung, wenn das überhaupt einen Unteschied machen sollte. Ich sehe die Timeout auch unkritisch, aber der Benutzer Keil schrieb ja das er den BSB LAN sogar neustarten muss und das immer nach 10 bis 14 Tagen. Das klingt irgendwie nach einem Speicherüberlauf oder sowas, deshalb fragte ich nach Code Anpassungen....

ZitatHallo zusammen,

es ist schon ein bisschen länger her, als ich mich das letzte Mal mit diesem Projekt beschäftigt hatte (damals habe ich ein paar Zeilen Code zu einem neuen Heizungstyp beigesteuert). Bisher läuft BSB-LAN bei mir bis auf regelmäßiger Aussetzer etwa alle 10-14 Tage (die sich durch einen Reboot beheben lassen) sehr zuverlässig.

Gruß
Scherheinz

frank

@schotty

schon mal das attr timeout bei httpmod vergrössert, zb 10sek? default sind eventuell 2sek.

nutzt du mehrere httpmod für unterschiedliche intervalle?
zum entzerren ist attr aligntime hilfreich.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Scherheinz

Stimmt, darauf bin ich garnicht mehr gekommen! Das Timeout hab ich von Anfang an auf 30s stehen..... :o

Gruß

Schotty

#4625
@frank: Ha, danke!
'Natürlich' habe ich das timeout noch nicht vergrößert und auch attr alignTime nicht gesetzt  ::) Man sollte doch hin und wieder erstmal ins eigene Handbuch schauen: https://1coderookie.github.io/BSB-LPB-LAN/kap15.html#1514-warum-kommt-es-manchmal-zu-timeout-problemen-bei-fhem  ::) ;D
Damals (2018) hattest du ja bereits auf alignTime hingewiesen, das muss ich mir dann nochmal in Ruhe durchlesen. Hab's gerade nur kurz überflogen und habe es momentan so verstanden, dass ich quasi pro Device und HTTPMOD-Abfrage unterschiedliche alignTimes angebe. Also bspw
- SOB_Brenner = 00:02
- SOB_Diagnose = 00:04 
- SOB_Pumpen = 00:06
etc
Danach dann einmal FHEM neu starten und dann erfolgen die ersten Abfragen 2, 4 und 6min nach FHEM-Start. Danach dann regulär im eingestellten Intervall. Dann kann es zwar hin und wieder trotzdem zu gleichzeitigen Abfragen kommen, aber das minimiert grundsätzlich schonmal das Risiko. Zusätzlich noch 'krumme' Sekunden mit angeben, das entzerrt dann auch nochmal etwas. So in etwa richtig..?

Nachtrag:
Achso, ja, ich nutze mehrere HTTPMODs und innerhalb der Devices unterschiedliche Anzahlen von Parameterabfragen sowie unterschiedliche Intervalle. Beispiel:
SOB_Diagnose - 4 Parameterabfragen (Betr.Std&Starts) alle 60min
SOB_AT -  1Parameter (AT) alle 90min
SOB_Brenner - 2 Parameter (Brennerstufen) alle 20Sek (so kurz, um das Brennerverhalten besser zu erkennen)
etc.
Der letztgenannte 'SOB_Brenner' ist das kürzeste Intervall, alle anderen sind länger.
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

frank

aligntime synchronisiert den ersten request nach fhemstart, wenn im intervallmodus gearbeitet wird, mit der uhrzeit.

bsp: aligntime=00:00:03 (3sek nach mitternacht)
interval=3600sek (1std)

fhemstart 00:00:01 => 1. requst 00:00:03
fhemstart 14:27:19 => 1. requst 15:00:03

also: am tag von fhem restart wird zur aligntime der zyklische request synchronisiert. je nach aktueller uhrzeit liegt damit der erste request fest.


wenn du zb minütliche intervalle hast, bringt minutengenaue einstellung von aligntime nichts, da alle devices immer zur vollen minute connecten wollen.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

fabulous

Moin,

ich bin bei der Datenanalyse bezüglich "Außentemperatur", "Außentemperatur gedämpft", "Außentemperatur gemischt" und "Außentemperatur gefiltert" weitergekommen.

Mein Ziel war dabei zunächst mal zu verstehen, welche Berechnungen in der Heizung vorgenommen werden.

Meine Erkenntnisse:
- alle 10 Minuten wird die Hilfsgröße "Außentemperatur gefiltert" (TAgef) berechnet; und zwar mit Hilfe der Gebäudekonstante (GK)
- TAgef wird anschließend erneut mit der Gebäudekonstante gefiltert, um die "Außentemperatur gedämpft" (TAged) zu erhalten
- anschließend wird die "Außentemperatur gemischt" (TAgem) bestimmt

Die Filterung erfolgt mit Hilfe eines PT1-Glieds und ist rekursiv, d.h. der neue Filterwert zum Zeitpunkt t+1 hängt teilweise vom alten Filterwert zum Zeitpunkt t, aber auch von einer weiteren Messgröße ab.

Filterung (GK muss mit einem Faktor multipliziert werden je nach Samplingrate der Daten) für TAgef und TAged:

TAgef_(t+1) = TAgef_(t) * (1-(1/GK)) + TA_(t)/GK

TAged_(t+1) = TAged_(t) * (1-(1/GK)) + TAgef_(t)/GK


Gemischte Temperatur:

TAgem = 0.5 * (TA + TAgef)


Anbei meine Ergebnisse. TA_filt, TA_mixed und TA_damp sind meine Berechnungen.
TA, TAgem und TAged sind die Logdaten der Heizung. TAgef lässt sich einfach mit der o.g. Vorschrift berechnen.

Gruß
Fabian

freetz

Danke für die Hintergrundinfos! Werde ich mir bezeiten auch noch einmal genauer anschauen, ggf. wäre das auch was für's Handbuch, Schotty?
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, Version 3 des BSB-LAN Adapters ist nun fertig, sowohl was die Hardware als auch die Software angeht :)!
BSB-LAN wird weiterhin mit der v2-Platine und auf einem Mega laufen und weiterhin mit Bugfixes und aktualisierten Parametern versorgt werden. Weitergehende Funktionen werden aber primär auf dem Due getestet. Oft funktionieren diese auch auf dem Mega, aber es gibt dafür keine Garantie. Wie schon jetzt bei einigen Sprachversionen der Fall, kann es zu Speicherengpässen kommen, so dass dann andere Funktionen (SD-Card Logging ist ein großer Speicherplatzfresser) deaktiviert werden müssten, um die aktuelle Version weiterhin laufen zu lassen.

Mir gibt dieser Wechsel jetzt wieder deutlich mehr "Luft zum Atmen", so dass ich eine Reihe von Wünschen auf der ToDo-Liste nun perspektivisch umsetzen kann, ohne immer die Bytes zählen zu müssen :)...

Wer Interesse an einer V3-Platine hat (ob nun für ein neues Gerät oder weil er upgraden möchte), kann sich per E-Mail unter bsb (ät) code-it.de melden, ich würde dann gegen Ende des Monats eine neue Sammelbestellung in Auftrag geben.
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

Jewe

Welche Version ist dann die letzte, die für den Mega ist ?
Wie werden die Versionen für Mega und Due dann gekennzeichnet ?

Jens

freetz

#4631
Die aktuelle Version, für die ich nachher noch ein Release machen werde, ist die "letzte". Die danach werden wie gesagt wahrscheinlich auch noch funktionieren, aber ich werde nicht jede Funktion immer auch im Detail für den Mega testen (können). Die Parameterdefinitionen sind davon ja unabhängig in der _defs.h gespeichert, und die ist ja plattformunabhängig. Eine "Kennzeichnung" der Software wird es von daher nicht geben (können). Insofern gilt als Faustregel: Wer in Zukunft neue Funktionen haben möchte, sollte auf den Due upgraden, wem neue bzw. aktualisierte Parameter reichen, kann alles so lassen, wie es ist.

EDIT: Hier der Link zur finalen Mega 2560 Version:
https://github.com/fredlcore/bsb_lan/releases/tag/v0.44
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

@fabulous: Auch von mir ein Danke, sowas ist immer sehr interessant.

Zitat von: freetz am 11 Mai 2020, 11:12:45
ggf. wäre das auch was für's Handbuch, Schotty?
Habe ich auch schon überlegt, ich weiß nur noch nicht so recht, was man/der Enduser mit diesen Infos letztlich anfängt..?
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

Schotty

@frank: Nochmals danke für deine weitere Erklärung bzgl alignTime.
Ich habe vor ein paar Tagen erstmal nur das Timeout'fenster' vergrößert (und die Abfrageintervalle zusätzlich etwas 'krumm' gestaltet, damit sie generell möglichst wenig auf gleiche 'glatte' Minutenwechsel fallen). Was soll ich sagen - seit dem hatte ich noch keinen Timeout-Fehler!  :D
Gruß
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

freetz

Noch ein Nachtrag zu der Version 3: Schotty hat mich gerade darauf hingewiesen, dass meine Formulierung missverständlich war, also:

- Wer mit aktualisierten Parametern auskommt, braucht kein Upgrade.

- Wer auch in Zukunft neue Features nutzen möchte, braucht einen Due UND die Platine in Version 3.

Auch wenn V2 von Prinzip her auch dazu in der Lage wäre, fehlt da das zusätzliche EEPROM, das der Due nicht hat und das deswegen die Platine "mitbringen" muss.
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