NEWS
VORLAGE: Batterieüberwachung HomematicIP mit Blockly
-
Das habe ich gemacht, da ich so leichter den grünen und roten Punkt zuweisen kann.
Und ich habe volle und leere Batterien nicht gemischt angezeigt.
Keine Ahnung, ob das beides mit einer Variablen klappt.Ist wenig eigenes Können bei ^^, wirklich viel kombiniert was ich gelesen habe.
Den Trigger könnte ich wirklich noch ändern, da hast du recht.
Mit den Namen stimmt.
Das gute ist, dass in meinem Skript wenigsten der Name genommen wird und nicht die ID.
Im Rega-Adapter kann man ja auch ausstellen, dass der Name synchronisiert wird. So kann man den auch unter rpc.0 ordentliche Namen vergeben.
Habe nicht für alles ein Alias, da grade bei den Heizungen viel in einer Gruppe ist, wo ich nur ein Alias für die Gruppe anlege anstatt für zig Thermostate.. -
@David-G sagte in VORLAGE: Batterieüberwachung HomematicIP mit Blockly:
Das gute ist, dass in meinem Skript wenigsten der Name genommen wird und nicht die ID.
Das hat auch wieder Vor und Nachteile. Ich habe es auch mal so gemacht, aber es gibt viele User, die ganz komische Namen vergeben haben...(in der CCU z.B. oder auch anderen Anwendungen die eigene Namen verwenden). Bei mir werden diese Namen auch zur Sprachansage über Alexa benutzt, die sollten sich dann auch aussprechen lassen und sich vernünftig anhören.
-
@David-G sagte in VORLAGE: Batterieüberwachung HomematicIP mit Blockly:
Im Rega-Adapter kann man ja auch ausstellen, dass der Name synchronisiert wird. So kann man den auch unter rpc.0 ordentliche Namen vergeben.
das stimmt, aber es gibt noch viele andere Adapter in denen Batterien sind.
Habe nicht für alles ein Alias, da grade bei den Heizungen viel in einer Gruppe ist, wo ich nur ein Alias für die Gruppe anlege anstatt für zig Thermostate..
Ich auch nicht, ist ja auch nicht notwendig. Ich möchte ja nur bestimmte Werte auswerten, für die lege ich halt einen alias an.
Aber, nicht falsch verstehen, alles keine Kritik. Wir können schließlich alle voneinander lernen.
Und, jeder kann mach was er möchte. -
Kein Ding, verstehe es nicht falsch.
Erstens hat jeder andere Anforderungen wo und wie es ins Konzept passen muss.
Zweitens hat jeder einen anderen Wissensstand wie Dinge umgesetzt werden können.
Da ist es ja Hilfreich auf andere Vorgehensweisen erfahrenen Usern weitergegeben werden.Habe hier im Forum bisher sehr viel Hilfe erfahren dürfen, da probiere ich das, was ich mir erarbeitet habe weiterzugeben für andere.
-
kannst Du bitte Deinen Blockly Export nochmal überprüfen ? (ich wollte mir das gerade mal importieren)
-
Hab es oben nochmal neu reinkopiert.
Hab grad nur gesehen, dass es noch einen doofen Namen hat. Wenn man sein Testskript dann doch bis zum Ende verwendet ^^.Ich selber bekomme es importiert, gerade mal getestet.
-
Ich stelle jetzt mal zu meinem eigenen Script eine Frage.....
Weiß jemand, ob ich über eine zweite Liste noch die Erreichbarkeit meiner Geräte anzeigen kann?
Man könnte den mittleren Teil des Scripts ja quasi kopieren und auf unreach prüfen.Hab nur Sorge, dass die Reihenfolgen der beiden Listen ggf unterschiedlich sind, da ja nicht jedes Gerät was einen unreach State hat auch einen low_bat State hat.
-
@david-g sagte: nicht jedes Gerät was einen unreach State hat auch einen low_bat State hat.
So ist es. Wie soll die Liste aussehen? Wie bisher, nur zusätzliche Anzeige von "UNREACH"? Oder alle Geräte und keine Anzeige bei "LOW_BAT", wenn kein "LOW_BAT" vorhanden?
-
Am coolsten wäre einfach noch eine zweite Spalte mit grünen Punkten.
Die Tabelle bekomme ich la leicht erweitert, nur der Inhalt ^^.Gerät I Batterie I Empfang
Falls das nicht machbar ist, binde ich einfach 2 Tabellen ein.
-
@david-g sagte: Am coolsten wäre einfach noch eine zweite Spalte mit grünen Punkten.
Das beantwortet meine Frage nicht: Tabelle mit allen Geräten oder nur mit Batterie betriebenen Geräten?
Da ohnehin schon die Geräte-ID ermittelt wurde, muss man nur noch den restlichen Teil dranhängen (".0.UNREACH" bzw. ".0.LOW_BAT") und zusätzlich abfragen.
-
Mit allen Geräten.
Dann könnte man zB bei Geräten ohne Batterie einen grauen Punkt anzeigen anstatt einen grünen oder roten (oder keinen, falls es leichter ist). -
@david-g sagte: Mit allen Geräten.
Dann nimm als Selektor "hm-rpc.0.*.0.UNREACH" und frage zusätzlich
parentID + ".0.LOW_BAT"
ab, wobei erst mit existstState(id) geprüft werden müsste, ob vorhanden.
-
Selektor ändern bekomme ich noch hin ^^.
Danach hört es aber auf. Das mit der parentID verstehe ich eh nicht ganz. Steht da nur Dank deiner Hilfe aus dem Thread wo wir es erarbeitet haben. Genau wie beim existstState(id).
2 neue Variablen bräuchte ich doch bestimmt auch oder? -
@david-g sagte:
2 neue Variablen bräuchte ich doch bestimmt auch oder?
Wenn ich mir das Blockly so ansehe, dann eher 3:
@david-g sagte in VORLAGE: Batterieüberwachung HomematicIP mit Blockly:
bei Geräten ohne Batterie einen grauen Punkt anzeigen anstatt einen grünen oder roten
Die HTML-Geschichten muss ich komplett Dir überlassen, denn damit kenne ich mich gar nicht aus.
Eine JS-Funktion checkBatt(id) mit Ergebnis könnte so aussehen
if(existsState(id)) return getState(id).val; // false / true return -1
Prinzip der Auswertung:
-
Danke, werde ich morgen einbauen.
Hoffe die Kids lassen es zu.
Im Moment sind die nicht so ausgelastet (Hoffentlich macht der Kindergarten bald wieder auf....). -
Die Auswertung packe ich dann "einfach" mit in die Schleife rein, unter das erste "Falls" (nur eben mit getauschten Selektor im oberen Bereich)?
-
@david-g sagte: Die Auswertung packe ich dann "einfach" mit in die Schleife rein, unter das erste "Falls" (nur eben mit getauschten Selektor im oberen Bereich)?
Ja, so sehe ich das.
-
So, habe jetzt mal alles eingebaut und im Screenshot hervorgehoben was neu ist.
Das Uhrsprungsskript habe ich auf Unreach umgestellt, damit alle Geräte erscheinen.Oben die neue JS-Funktion, dann die Erzeugung des Textes für die Tabelle.
Weiter unten setzte ich den Text ein.Jetzt habe ich allerdings überall den grauen Punkt (hab erstmal nur den Text eingefügt zur Übersicht anstatt den HTML Code für den Punkt)
Angeblich hat jetzt kein Gerät eine Batterie.
-
@david-g sagte: Angeblich hat jetzt kein Gerät eine Batterie.
Prüfe mal mit einem Debug-Block, ob die an checkBatt(id) übergebene ID passt.
-
Sieht eigentlich gut aus.
Da ist der Debug:
Hier das Ergebnis. Die -1 ist vermutlich das Gerät ohne Batterie.
(Am Handy bekomme ich den Log nicht ordentlich kopiert....)