Forum
Githubversion: Anregungen, Bugs
Zitat von Oliver am 4. Juni 2018, 14:01 UhrZitat von madmartin am 4. Juni 2018, 10:08 UhrDas macht Sinn. Werd ich demnächst in Angriff nehmen. Ich selbst benutze bisher ja nur Geräte zum Einbau in die Wanddosen, da ist das Anlernen ja kein Problem. So richtig blöd ist so eine Anlern-Runde bei Funk-Motoren, oder?
Den Serial einfach im Topic als Payload mitschicken. Würde es Sinn machen das dann jsonifiziert auszugeben in der Stat-Meldung?
stat/jarolift/shutter/0 100
stat/jarolift/shutter/0 {"100":"zähler"}
Oder unabhängig davon alle x Minuten so eine Art Lebenszeichen absenden wo solche Daten drin stecken.
Bei fhem könnte man das sicher als Reading irgendwie mitloggen. Bei anderen Systemen wie nodered, hassio geht das vermutlich noch einfacher.
Neu Anlern-Modus ist oben-unten (gleichzeitig) dann 8 Mal Stop. Rollo ruckt und dann hat man 5 Sekunden Zeit. Evtl. kann man das auch noch im Sketch mit anbieten.
Zitat von madmartin am 4. Juni 2018, 10:08 Uhr
Das macht Sinn. Werd ich demnächst in Angriff nehmen. Ich selbst benutze bisher ja nur Geräte zum Einbau in die Wanddosen, da ist das Anlernen ja kein Problem. So richtig blöd ist so eine Anlern-Runde bei Funk-Motoren, oder?
Den Serial einfach im Topic als Payload mitschicken. Würde es Sinn machen das dann jsonifiziert auszugeben in der Stat-Meldung?
stat/jarolift/shutter/0 100
stat/jarolift/shutter/0 {"100":"zähler"}
Oder unabhängig davon alle x Minuten so eine Art Lebenszeichen absenden wo solche Daten drin stecken.
Bei fhem könnte man das sicher als Reading irgendwie mitloggen. Bei anderen Systemen wie nodered, hassio geht das vermutlich noch einfacher.
Neu Anlern-Modus ist oben-unten (gleichzeitig) dann 8 Mal Stop. Rollo ruckt und dann hat man 5 Sekunden Zeit. Evtl. kann man das auch noch im Sketch mit anbieten.
Zitat von meier81 am 4. Juni 2018, 15:20 UhrJa, bei FHEM ist das auch leicht realisierbar, kann man ja mit dem Parameter "subscribeReading" einfach einlesen, der Wert der dann im Reading steht ist immer der letzte, das heißt raucht der ESP ab, steht der letzte Zählwert immer noch im FHEM. Den könnte ich dann in meinen neuen ESP setzen und alles geht wieder ohne das ich etwas anderes anlangen muss.
Ich werde heute Abend auch nochmal den MQTT-Reconnect anschauen, da gibt es anscheinend noch Probleme wie ich dem Readme entnommen habe. Da hätte ich nämlich schon eine Idee was man noch verändern könnte.
Ja, bei FHEM ist das auch leicht realisierbar, kann man ja mit dem Parameter "subscribeReading" einfach einlesen, der Wert der dann im Reading steht ist immer der letzte, das heißt raucht der ESP ab, steht der letzte Zählwert immer noch im FHEM. Den könnte ich dann in meinen neuen ESP setzen und alles geht wieder ohne das ich etwas anderes anlangen muss.
Ich werde heute Abend auch nochmal den MQTT-Reconnect anschauen, da gibt es anscheinend noch Probleme wie ich dem Readme entnommen habe. Da hätte ich nämlich schon eine Idee was man noch verändern könnte.
Zitat von Oliver am 4. Juni 2018, 16:25 UhrMal so ein Gedanke, wenn man den Zähler übermittelt dann ist das dann ein Zähler für alle Rollos oder hat jeder Channel einen eigenen?
Wodrauf ich hinaus will, der Status wäre dann doch nicht state/jarolift/0..16 sondern eigentlich state/jarolift/counter . Sofern das ein gobaler Zähler ist und man hier wirklich Erbsen zählen möchte 🙂
Oder man trägt einfach das Reading bei allen Rollos ein, das wäre ja auch egal.
Mal so ein Gedanke, wenn man den Zähler übermittelt dann ist das dann ein Zähler für alle Rollos oder hat jeder Channel einen eigenen?
Wodrauf ich hinaus will, der Status wäre dann doch nicht state/jarolift/0..16 sondern eigentlich state/jarolift/counter . Sofern das ein gobaler Zähler ist und man hier wirklich Erbsen zählen möchte 🙂
Oder man trägt einfach das Reading bei allen Rollos ein, das wäre ja auch egal.
Zitat von madmartin am 4. Juni 2018, 17:09 UhrHi,
der Zähler von dem Ihr sprecht ist in der Source die Variable "devcnt", den gibt es nur einmal pro Sender. Also auch nur einmal für den Jarolift-Dongle. Und dann versendet man dann natürlich auch als "state/<devicetopic>/devcnt" und nicht für jeden Channel extra. Das wäre unlogisch. Und Erbsen zählen ist in der IT ein Grundsatz, ich sage immer "Die IT ist eine Präzisionswissenschaft". Mit "ungefähr" kommt man im Internet so gut wie nie ans Ziel, und kommt mir nicht mit Suchmaschinen und künstlicher Intelligenz, das sind im inneren auch ganz präzise Teile...
Nebenbei gesagt wäre ein versenden des "devcnt" mit gesetzem "retain-bit" dann eine einfache Möglichkeit den letzten Zählerstand dem MQTT Server so nebenbei speichern zu lassen, denn "retain"ed Nachrichten muß der MQTT Broker abspeichern und später auf verlangen (wenn es jemand subscribed) wieder aussenden.... Das wäre das einfachste und funktioniert einfach immer, egal welches Home-X dahinter hängt.
Hi,
der Zähler von dem Ihr sprecht ist in der Source die Variable "devcnt", den gibt es nur einmal pro Sender. Also auch nur einmal für den Jarolift-Dongle. Und dann versendet man dann natürlich auch als "state/<devicetopic>/devcnt" und nicht für jeden Channel extra. Das wäre unlogisch. Und Erbsen zählen ist in der IT ein Grundsatz, ich sage immer "Die IT ist eine Präzisionswissenschaft". Mit "ungefähr" kommt man im Internet so gut wie nie ans Ziel, und kommt mir nicht mit Suchmaschinen und künstlicher Intelligenz, das sind im inneren auch ganz präzise Teile...
Nebenbei gesagt wäre ein versenden des "devcnt" mit gesetzem "retain-bit" dann eine einfache Möglichkeit den letzten Zählerstand dem MQTT Server so nebenbei speichern zu lassen, denn "retain"ed Nachrichten muß der MQTT Broker abspeichern und später auf verlangen (wenn es jemand subscribed) wieder aussenden.... Das wäre das einfachste und funktioniert einfach immer, egal welches Home-X dahinter hängt.
Zitat von Oliver am 4. Juni 2018, 19:45 UhrZitat von madmartin am 4. Juni 2018, 17:09 UhrHi,
"state/<devicetopic>/devcnt" und nicht für jeden Channel extra. Das wäre unlogisch. Und Erbsen zählen ist in der IT ein Grundsatz, ich sage immer "Die IT ist eine Präzisionswissenschaft". Mit "ungefähr" kommt man im Internet so gut wie nie ans Ziel, und kommt mir nicht mit Suchmaschinen und künstlicher Intelligenz, das sind im inneren auch ganz präzise Teile...
Naja, es gibt auch noch den anderen Grundsatz works for me. Ich wollte nur keinesfalls pädantisch erscheinen 🙂
Ich finde es auch besser möglichst präzise zu arbeiten. Gerade in der Haustechnik soll sowas möglichst mehrere Jahre (Jahrzehnte??) laufen.
Über retain müssten mqtt-broker UND der dongle gleichzeitig abfackeln, aber ich glaub wenn das passiert hat man wohl ein anderes Problem.
Zitat von madmartin am 4. Juni 2018, 17:09 UhrHi,
"state/<devicetopic>/devcnt" und nicht für jeden Channel extra. Das wäre unlogisch. Und Erbsen zählen ist in der IT ein Grundsatz, ich sage immer "Die IT ist eine Präzisionswissenschaft". Mit "ungefähr" kommt man im Internet so gut wie nie ans Ziel, und kommt mir nicht mit Suchmaschinen und künstlicher Intelligenz, das sind im inneren auch ganz präzise Teile...
Naja, es gibt auch noch den anderen Grundsatz works for me. Ich wollte nur keinesfalls pädantisch erscheinen 🙂
Ich finde es auch besser möglichst präzise zu arbeiten. Gerade in der Haustechnik soll sowas möglichst mehrere Jahre (Jahrzehnte??) laufen.
Über retain müssten mqtt-broker UND der dongle gleichzeitig abfackeln, aber ich glaub wenn das passiert hat man wohl ein anderes Problem.
Zitat von madmartin am 5. Juni 2018, 16:21 Uhr
Naja, es gibt auch noch den anderen Grundsatz works for me.
Die Arbeitsmethode "works for me" finde ich extrem übel, sowohl in der IT als auch sonst wo. Das ist meistens eine Mischung aus Egoismus und Desinteresse am Rest der Welt und ist genau das Gegenteil von dem was Entwickler Freier Software tun. In dem Zusammenhang muß ich mal sagen daß mir beim Gedanken daß Microsoft die Github-Plattform kaufen wird ganz schlecht wird.
"Works for me" ist ja z.B. auch wenn ein Einbrecher, Autodieb oder Drogenproduzent sein "Einkommensmodell" beschreiben soll.
Ich wollte nur keinesfalls pädantisch erscheinen
Ich finde Pedanterie beim Programmieren oder Administrieren keinesfalls deplatziert, nur nervt sie manchmal, und kostet einen Haufen Zeit. Aber da muß man durch, sonst verbraucht man später selbst (oder andere... siehe meine Meinung zu "works for me"...) viel Zeit beim Fehler suchen oder Workarounds basteln...
So, die Anregung mit dem Devicecounter per MQTT stat zu verschicken ist implementiert. Dann ist als nächstes die Möglichkeit der Eingabe in der WebUI dran.
Naja, es gibt auch noch den anderen Grundsatz works for me.
Die Arbeitsmethode "works for me" finde ich extrem übel, sowohl in der IT als auch sonst wo. Das ist meistens eine Mischung aus Egoismus und Desinteresse am Rest der Welt und ist genau das Gegenteil von dem was Entwickler Freier Software tun. In dem Zusammenhang muß ich mal sagen daß mir beim Gedanken daß Microsoft die Github-Plattform kaufen wird ganz schlecht wird.
"Works for me" ist ja z.B. auch wenn ein Einbrecher, Autodieb oder Drogenproduzent sein "Einkommensmodell" beschreiben soll.
Ich wollte nur keinesfalls pädantisch erscheinen
Ich finde Pedanterie beim Programmieren oder Administrieren keinesfalls deplatziert, nur nervt sie manchmal, und kostet einen Haufen Zeit. Aber da muß man durch, sonst verbraucht man später selbst (oder andere... siehe meine Meinung zu "works for me"...) viel Zeit beim Fehler suchen oder Workarounds basteln...
So, die Anregung mit dem Devicecounter per MQTT stat zu verschicken ist implementiert. Dann ist als nächstes die Möglichkeit der Eingabe in der WebUI dran.
Zitat von Oliver am 5. Juni 2018, 18:36 UhrGuten Abend!
Das geht ja flott! Ich habe das gerade eingebaut, funktioniert einwandfrei. Hätte gar nicht gedacht das ich schon 50x geklickt habe.
Guten Abend!
Das geht ja flott! Ich habe das gerade eingebaut, funktioniert einwandfrei. Hätte gar nicht gedacht das ich schon 50x geklickt habe.
Zitat von meier81 am 5. Juni 2018, 18:48 UhrMuss ich auch gleich nachher mal ausprobieren.
Habe gestern Abend mal etwas bezüglich der MQTT-Reconnect Probleme geschaut, ist zur Zeit so das sobald die Verbindung zum Broker weggeht der ESP ja nicht mehr erreichbar ist da er in der Reconnect-Schleife hängt, deswegen auch nur der 5malige Verbindungsversuch. Habe mal etwas rumprobiert und festgestellt das die Lösung eigentlich schon im Ordner /PubSubClient-2.6.09/examples/mqtt_reconnect_nonblocking vorhanden ist. Hier wird durchgehend versucht die Verbindung wieder aufzubauen ohne die Schleife zu blockieren.
Könnte ja Martin mal einchecken zum testen, kann mich aber auch gerne heute Abend mal ans testen machen.
Muss ich auch gleich nachher mal ausprobieren.
Habe gestern Abend mal etwas bezüglich der MQTT-Reconnect Probleme geschaut, ist zur Zeit so das sobald die Verbindung zum Broker weggeht der ESP ja nicht mehr erreichbar ist da er in der Reconnect-Schleife hängt, deswegen auch nur der 5malige Verbindungsversuch. Habe mal etwas rumprobiert und festgestellt das die Lösung eigentlich schon im Ordner /PubSubClient-2.6.09/examples/mqtt_reconnect_nonblocking vorhanden ist. Hier wird durchgehend versucht die Verbindung wieder aufzubauen ohne die Schleife zu blockieren.
Könnte ja Martin mal einchecken zum testen, kann mich aber auch gerne heute Abend mal ans testen machen.
Zitat von madmartin am 6. Juni 2018, 14:32 Uhretwas rumprobiert und festgestellt das die Lösung eigentlich schon im Ordner /PubSubClient-2.6.09/examples/mqtt_reconnect_nonblocking vorhanden ist.
Sehr gute Anregung, hatte ich noch nicht gesehen.
Ist drin, funktioniert hervorragend.
etwas rumprobiert und festgestellt das die Lösung eigentlich schon im Ordner /PubSubClient-2.6.09/examples/mqtt_reconnect_nonblocking vorhanden ist.
Sehr gute Anregung, hatte ich noch nicht gesehen.
Ist drin, funktioniert hervorragend.