wunschliste modul BSB-Bus (Brötje, Elco Thision etc.)

Begonnen von justme1968, 14 Februar 2018, 14:09:54

Vorheriges Thema - Nächstes Thema

freetz

Abgesehen von der Zeit, die ich dafür zumindest im Moment nicht habe (der Frühling kommt, und das Robotan-Rasennmähroboter-Projekt zieht wieder (auch zu viel) Zeit), müsste ich ja auch in der BSB-LAN-Software für jeden der Parameter noch irgendwo die Info hinterlegen, ob es HK1, Zeitprogramm 5 oder sonst was ist. Zumindest dann, wenn es eben ein anderer Text als nur der Kategoriename sein soll. Den könnte ich relativ einfach auch noch mal in der Parameterabfrage hinterlegen. Andernfalls bedeutet ein einzelnes Byte, was ich in die Command-Table aufnehme, einen zusätzlichen Speicherverbrauch von ca. 3kB. Das hört sich nicht nach viel an, für den Arduino mit seinem geringen Speicher macht das aber schon einen Unterschied.

Was spräche denn dagegen, das Reading in der Form "Kategoriename_Parametername" zu benennen? Oder (wahlweise?) "Parameternummer_Parametername"? Die erste Variante wäre zwar etwas länger, aber so lang dann auch wieder nicht und wäre auch hinsichtlich der z.T. ja schon umgesetzten Mehrsprachigkeit die universellere Lösung.

Dann warte ich mit der Dokumentation noch, bis wir die Dinge und das Senden geklärt haben (auch wenn Schotty das nicht freuen wird ;) )...
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: freetz am 20 März 2018, 09:29:24
Was spräche denn dagegen, das Reading in der Form "Kategoriename_Parametername" zu benennen? Oder (wahlweise?) "Parameternummer_Parametername"? Die erste Variante wäre zwar etwas länger, aber so lang dann auch wieder nicht und wäre auch hinsichtlich der z.T. ja schon umgesetzten Mehrsprachigkeit die universellere Lösung.
Also Parameternummer_Parametername finde ich persönlich besser, das ist eine eindeutige Bezeichnung, die auch in den Handbüchern verwendet wird und bei Komplettabfragen nützlich sein dürfte - dann sucht man fix nach der Nummer und fertig. Die Darstellung der Readings dann auch aufsteigend den Nummern nach, schon ists übersichtlich..! Just my 50ct.. ;)
Parameternummer_Kategoriename_Parametername wäre natürlich noch besser, aber wahrscheinlich zu lang? Oder könnte man die Readings in die jeweiligen Kategorien gruppieren? Und dann mit Nr+Name in der Kategoriegruppe anzeigen? 

Zitat
Dann warte ich mit der Dokumentation noch, bis wir die Dinge und das Senden geklärt haben (auch wenn Schotty das nicht freuen wird ;) )...
Alles gut, ich hab das erstmal auf Eis gelegt bis die JSON-Geschichte abgeschlossen ist - vorher gibts auch keine neue Handbuch-Version, um Verwirrungen zu vermeiden ;)
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

freetz

Jetzt, wo Du es so sagst, finde ich Parameternummer_Parametername auch sinnvoll(er), denn auch die Parameternamen unterscheiden sich mitunter etwas, so dass die Leute bei Nachfragen dann eindeutiger angeben können, um was es geht. Wenn man das noch optional macht, könnten auch Leute, denen es egal ist und wir wir nur einen Heizkreis etc. haben, die Nummern auch weglassen, wenn es der Optik auf dem Floorplan oder so entgegen steht.
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

justme1968

#183
ja. so ist es natürlich ganz einfach. im ersten post gibt es ein update mit dem neuen attribut readingsFormat.

1 -> nummer-name
2 -> nur nummer
3 -> nur name

1 ist der default. ich habe noch führende nullen spendiert wenn die nummer weniger als 4 stellen hat. sonst ist es mit der ordnung wieder nichts :).

das einzige das damit nicht geht ist automatisch zusammengehörige dinge zu erkennen wie weiter oben vorgeschlagen. aber das kann man ja immer noch machen wenn zeit ist und es benötigt wird.


readings gruppieren geht leider nicht. aber irgendwann mache ich das readingsFormat vielleicht noch etwas flexibler damit man selber angeben kann wie es genau aussehen soll. z.b. %k_%p-%n für kategorie_parameter-name.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Schotty

Na das klingt doch gut!
Wobei ich das:
Zitat von: justme1968 am 20 März 2018, 11:31:24
das einzige das damit nicht geht ist automatisch zusammengehörige dinge zu erkennen wie weiter oben vorgeschlagen. aber das kann man ja immer noch machen wenn zeit ist und es benötigt wird.
nicht so ganz verstehe - was meinst du damit?
Ansonsten - nur mal so gaaaaanz vorsichtig nachgefragt - die 'Wünsche' ganz am Anfang, von wegen click&play für noobs hinsichtlich zu loggender Parameter, Fehler-/Warnmitteilungen-Push etc.pp.wird man mit FHEM-Mitteln direkt umsetzen müssen? Oder bastelst du da im Laufe der Zeit noch was..? ;) Dann warte ich nämlich noch mit dem Einrichten (mir fehlt echt die Zeit für FHEM-Kenntnisse grrrr)..  ;D
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

justme1968

als informatiker ist es immer schön wenn man bestimmte semantische information nicht aus irgendwelchen textuellen beschreibungen wie zum beispiel den namen extrahieren muss, sondern sie schon fertig aufbereitet und eindeutig bekommt. eine art 'tag' um z.b. den hk eindeutig zu erkennen ist auch zuverlässiger als zu versuchen eine id aus dem namen zu extrahieren. vor allem weil die kennzeichung nicht gleich aufgebaut ist und sich zwischen den kategorieren und auch innerhalb unterscheiden. das automatische zuordnen bezog sich darauf das man damit dann z.b. alle parameter von heizkreis x erkennen kann. egal aus welcher kategorie sie kommen. das ist aber vermutlich nur nice to have. aktuell nicht wirklich wichtig.

die dinge aus der wunschliste die mit fhem bordmitteln nicht gehen kommen noch. nach und nach. je nach zeit :). als erstes das setzen von parametern. ich weiss nur noch nicht wie ich das mit testen mache. ich möchte mir nichts an meiner heizung zerschiessen und ich habe keine zweite nur zum testen :)

ich werde auch schauen das man im modul alles so vorbereitet und einbaut das die kombination mit anderen fhem modulen so einfach wie möglich ist.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

FunkOdyssey

Sind Schrägstriche und Punkte in den Readings erlaubt?

Ich habe Readings in folgender Art:

6800-Historie1Datum/Zeit
6810-Historie2Datum/Zeit


8300-1.BrennerstufeT2
8301-2.BrennerstufeT8

justme1968

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

FunkOdyssey

Macht es denn vielleicht dennoch Sinn, diese Zeichen aus den Readings zu entfernen?
Nicht, dass sich RegEx an den Punkten oder irgendwie Maskierungen an den Schrägstrichen stören.
Du bist der Profi: Was meinst du?

justme1968

ich wüsste nicht warum es probleme geben sollte. beide zeichen sind explizit erlaubt und andere devices benutzen sie. der punkt bei 1-wire und der / bei mqtt oder mysensors.

der . in einer regex matched auch einen punt im reading. der / in der regex die als parameter verwendet wird geht auch.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Jewe


Jewe

#191
Guten Morgen,

läuft das pollen der Kategorien und Parameter bei Euch gut ?
Bei mir lief es eine weile und dan kommt "trying to poll". Und die Kategorien werden nicht alle gelesen.
Ich habe auch das Device wieder gelöscht und neu erstellt, das hat schonmal geholfen, aber auch dann
bekomme ich nicht die Kategorien und Parameter.
Meine anderen Abfragen des Arduino habe ich gestoppt. Der Abruf der Json Kategorien im Browser funktioniert gut.

Jens

Edit:
Jetzt bin ich hergegangen und habe die polls direkt eingetragen und einen reconnect gemacht:
8700,8730,8731,8732,8740,8741,8743,8744,8760,8761,8762,8770,8771,8773,8774,700,710,712,720,721,750,760,900,8000,1000,1010,1012,1020,1021,1050,1060,1200,8001
Im Logfile kommt dann :
2018.03.22 09:42:47 3: Broejte: trying to connect.
2018.03.22 09:42:47 4: Broejte: connected.
2018.03.22 09:42:52 4: Broejte: trying to poll.
2018.03.22 09:42:53 4: Broejte: got data for 8700,8730,8731,8732,8740,8741,8743,8744,8760,8761,8762,8770,8771,8773,8774,700,710,712,720,721,750,760,900,8000,1000,1010,1012,1020,1021,1050,1060,1200,8001

2018.03.22 10:00:23 4: Broejte: trying to poll.
2018.03.22 10:00:23 5: Broejte: received <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>BSB-LAN Web</title>
<link rel="shortcut icon" type="image/x-icon" href="http://arduino.cc/en/favicon.png" />
<style>A:link  {color:blue;text-decoration: none;} A:visited {color:blue;text-decoration: none;} A:hover {color:red;text-decoration: none;background-color:yellow} A:active {color:blue;text-decoration: none;} A:focus {color:red;text-decoration: none;}
input {width: 100%; box-sizing: border-box;} select {width: 100%;}</style>
</head><body>
<script>function set(line,formnr){
if(isNaN(document.getElementById('value'+formnr).value)==false){
window.open('S'+line+'='+document.getElementById('value'+formnr).value,'_self');
}}
function setbit(line,formnr){
var x=document.getElementById('value'+formnr); var value=0;
for (var i=0; i<x.options.length; i++) {
if(x.options[i].selected){
value=value+eval(x.options[i].value);
}}
window.open('S'+line+'='+value,'_self');
}</script>
<font face='Arial'>
<center><h1><A HREF='/2201/'>BSB-LAN Web</A></h1></center>
<table width=80% align=center><tr bgcolor=#f0f0f0><td width=20% align=center><a href='/2201/K'>Heizungsfunktionen</a></td><td width=20% align=center><font color=#000000>DS18B20-Sensoren</font></td><td width=20% align=center><font color=#000000>DHT22-Sensoren</font></td><td width=20% align=center><a href='/2201/DG'>Anzeige Logdatei</a></td></tr><tr bgcolor=#f0f0f0><td width=20% align=center><a href='/2201/C'>Konfiguration</a></td><td width=20% align=center><a href='/2201/O'>URL-Befehle</a></td><td width=20% align=center><a href='http://github.com/fredlcore/bsb_lan/blob/master/HOWTO_de.md' target='new'>HowTo</a></td><td width=20% align=center><a href='http://github.com/fredlcore/bsb_lan/blob/master/FAQ_de.md' target='_new'>FAQ</a></td>
</tr></table><p></p><table align=center width=80%><tr><td>
</td></tr></table>
</body>
</html>


2018.03.22 10:00:23 4: Broejte: got data for 8700,8730,8731,8732,8740,8741,8743,8744,8760,8761,8762,8770,8771,8773,8774,700,710,712,720,721,750,760,900,8000,1000,1010,1012,1020,1021,1050,1060,1200,8001
2018.03.22 10:00:23 5:        $VAR1 = {};


Im Device erscheinen keine readings oder Kategorien. Nach dem ich den verbose nun auf 5 gestellt habe sieht man das nichts kommt.

Schotty

#192
Zitat von: Jewe am 22 März 2018, 09:41:41

2018.03.22 10:00:23 4: Broejte: got data for 8700,8730,8731,8732,8740,8741,8743,8744,8760,8761,8762,8770,8771,8773,8774,700,710,712,720,721,750,760,900,8000,1000,1010,1012,1020,1021,1050,1060,1200,8001
2018.03.22 10:00:23 5:        $VAR1 = {};

Drei Gedanken dazu (nur zwei ernst gemeint):
1.: Broejte -> Der Regler fühlt sich nicht angesprochen, weil er nicht Broejte heißt (Spaß muss sein ;) )..
2.: Verdammt viele Abfragen - 33 Stück in welchem Intervall? 60Sek? Vielleicht zu viele in einem zu kurzen Intervall? -> Das nur als grundsätzlicher Gedanke, Problem wird Nr3 sein:
3.: Da es justme1968 schonmal schrieb:  $VAR1 = {} -> Dein Regler liefert keine Daten. Da du das schonmal hattest (oder war das jmd anderes?): Hast du die Verkabelung mal auf Wackelkontakte überprüft? LED am Adapter leuchtet und flackert? Zugriff via Webinterface funktioniert?

EDIT: Doch, das warst du, s. vorherige Seite. justme1968's Antwort darauf: https://forum.fhem.de/index.php/topic,84381.msg783690.html#msg783690
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

Jewe

#193
Ja Gedanke 1. ist bestimmt richtig, so eine beleidigte Leberwurst. :-)
3. kann ich ausschliessen, da passt alles. Mit den HTTPMOD´s läuft es
2. Ja, ist schon viel. Den Intervall habe ich nicht veändert. Stelle jetzt mal auf 5 min.

Vermute gerade, dass es evtl. auch am timeout liegen könnte, wenn das Brötchen länger braucht ?

Edit:
Zitat von: Schotty am 22 März 2018, 10:36:46
EDIT: Doch, das warst du, s. vorherige Seite. justme1968's Antwort darauf: https://forum.fhem.de/index.php/topic,84381.msg783690.html#msg783690
Ja, war ich, aber die Installation ist ok. Bei der HTTPMOD abfrage und über WebInterface gibt es keine Störungen.

postman

#194
Hallo zusammen,
Ich hab ein kleines Problem mit dem Modul:
Ich erhalte bei der Abfrage in den readings state category 30 failed als Anwort, wenn ich die Konfiguration abfrage.
Ich habe heute nur das Modul neu in FHEM installiert. Müssen die beiden anderen Files auch getauscht werden oder weshalb läßt sich die Konfiguration nicht laden?

edit: lt. SerMon wird ein /JK=30 gesendet, aber nichts zurückgesendet
Gruß Uwe
Raspberry Pi Version 2 QUAD-CORE CPU und 1 GB RAM, CUL V3 868 MHz,  stapelbarer CC1101 (SCC) 433 MHz, Enocean-Stick,Jeelink-Stick, BSB-Lanadapter

Spruch eines Ausbilders: Theorie ist, wenn man alles weiss und nichts funktioniert; Praxis ist, wenn alles funktioniert und keiner weiss warum...