NEWS
Fenster und andere Geräte zählen opt. Alexa Ansagen
-
Da das Skript ja hier verlinkt ist, ich habe gerade eine Änderung im Alias skript gemacht.
wenn der zu erstellende alias bereits vorhanden ist und das flag bCorrectSource wahr ist, wird geguckt ob die Quellid des Alias sich mit diesem Aufruf ändern würde und das wird angepasst.
Also lassen sich dadurch die IDs Anpassen falls diese sich ändern. -
@siggi85 sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
@dslraser Xiaomi Fensterkontakte mit deconz werden korrekt erkannt. Auch das Zählen des neuen Skript funktioniert wie beschrieben. Good job!
Was ich noch bräuchte wären die Icons für Tür auf und Tür zu für iQontrol.
Als Idee (nicht zwingend notwendig): Wäre es ggf. möglich dem Datenpunkten, die die Fenster die offen, gekippt oder beides sind als Maximalwert die Gesamtanzahl der Fenster einzukonfigurieren? Somit würde die Leiste der Ansicht in iQontrol (und sicher auch in anderen GUIs) das Verhältnis der offenen Türen besser darstellen.
Hier ohne Maximalwert:
Hier mit Maximalwert manuell konfiguriert. (sind 6 Fenster insgesamt)
Es hat mich nun auch genervt immer wieder die custom Datenpunkte für iQontrol zu konfigurieren. Für die iQontrol Benutzer habe ich das jetzt mal eingebaut. Hier mal am Beispiel Fenster (siehe rechts Schraubenschlüssel):
und hier ebenfalls:
Das könnte man in iQontrol z.B. so nutzen:Zum testen bitte einmal alle "alten" angelegten Datenpunkte löschen und neu erstellen lassen. Dabei sollte automatisch erkannt werden ob iQontrol existiert und dann auch custom Datenpunkte konfiguriert werden.
Beispiel DP:
Hier der Blockly Export:
Datei hochgeladen am 22.11.2020 um 17:00 Uhr
Forum-Version-1-0.txt.zip -
Hallo zusammen,
eigentlich suche ich ein Skript, welches mir anzeigt wie viele Lichter noch aktiv sind, in welchem Raum. Über Homematic Skripts habe ich dies bereits für Lichter und Fenster geschafft, aber halt ohne all die iobroker Komponenten.
Denn hier bin ich offensichtlich zu blöd für. Die letzten Monate habe ich immer wieder mal Skripte versucht zu nutzen und die endete immer in Frust und irgendwelchen compile failed, invalid or unexpected tokken logs usw.
Dieses Skript hier, deckt soweit ich das sehen kann, alles ab. Sehr schön, danke dafür.
Aber auch hier scheitert die Implementierung. Ich bin einfach nicht für Code geschaffenLange Rede kurzer Sinn, hat jemand irgendwann Lust und Zeit mir das zu erklären. Am besten per remote über TS, Discord oder Mumble. Gerne auch gegen ein Weihnachtsgeld. Ich wäre nämlich wirklich dankbar, wenn das endlich laufen würde.
Viele Grüße -
@FuXXz2
Ich kann Dir gern helfen.
Aber trotzdem eine Frage vorweg: hast Du Dir den ersten Beitrag, ganz oben, komplett durchgelesen ?
Ich dachte eigentlich das ganz gut und chronologisch beschrieben zu haben.
Klar, einige Vorarbeit ist nötig, was alias und Aufzählungen angeht, aber danach sind nur noch ganz wenige Einstellungen im Blockly selbst zu machen. -
@dslraser
Ja, habe ich. Vermutlich nehmen Menschen Texte, je nach Vorkenntnissen jedoch unterschiedlich wahr. Es kann also gut sein, dass man den Eindruck hätte, ich würde den Text nicht lesen
Habe ich aber, ich komme auch bis zu dem Punkt, wo das Skript in den userdata seine Datenpunkte anlegt, nur diese sind dann nicht richtig.
Ich übersehe also irgendeine Anpassung.Ich habe den Verdacht, dass es beim erstellen des Alias scheitert.
createAlias('hm-rpc.0.xxx.1.STATE'/*Keller W-Baum Fenster STATE*/, 'Fenster.Keller_Weihnachtsbaum_Fenster', undefined, 'fenster_alias', 'number',undefined, undefined, 'Keller W Baum', 'window.value', 'per Script erstellt', 0, 2, '',{0: 'geschlossen', 1: 'gekippt', 2: 'geöffnet'})
Ich glaube hier werfe ich alles durcheinander. Wenn ich die Aliase manuell erstelle, um besser zu verstehen, sehen sie völlig anders aus
-
@FuXXz2
schau mal hier
https://forum.iobroker.net/post/462078und zwei Beiträge darunter, also hier
https://forum.iobroker.net/post/462092
da habe ich es etwas erklärt.
Hilft Dir das weiter ? -
@dslraser
Da scheint zumindest das Problem zu liegen, ja. Aber für mich immer noch alles unübersichtlich mit raum, gewerk, alias typ, dann wieder namealias.
Raum ignoriert er irgendwie. Ich trinke erstmal nen Kaffee und dann schau ich nochmal drauf.Btw. Ich habe die functions von dir übernommen. Macht es denn Sinn für das Script seperate Funktionen zu erstellen? Weil meine Lichter und Dimmer sind ja schon enum.functions.Licht. Oder sollte ich diese einfach nutzen?
-
@FuXXz2 sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
Btw. Ich habe die functions von dir übernommen. Macht es denn Sinn für das Script seperate Funktionen zu erstellen? Weil meine Lichter und Dimmer sind ja schon enum.functions.Licht. Oder sollte ich diese einfach nutzen?
Du kannst auch Deine functions nehmen, das muß dann nur im Blockly angepasst werden, aber das ist eine Kleinigkeit.
-
@FuXXz2 sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
Lange Rede kurzer Sinn, hat jemand irgendwann Lust und Zeit mir das zu erklären. Am besten per remote über TS, Discord oder Mumble.
Ich habe Dir mal über den Chat geschrieben.
-
Danke für die Hilfe.
Es ist noch eine Frage aufgetreten, vielleicht kannst du mir da weiter helfen?
Wie wichtig sind beim Alias Skript die Stellen mit "role"?
Mir ist aufgefallen, im Skript steht z.B.createAlias('hm-rpc.0.xxx.1.STATE'/*Küche Fenster links STATE*/, 'Fenster.Kueche_Fenster_links', undefined, 'fenster_alias', 'boolean',undefined, undefined, 'Küche links', 'window.value', 'per Script erstellt', undefined, undefined, undefined, {false: 'geschlossen', true: 'geöffnet'})
Dort steht "window.value" im iobroker werden aber die HM und HMIP Fensterkontakte als sensor.window und value.window
Die Steckdosen sind als Switch gekennzeichnet. In dem Script mal als switch und mal als switch.light -
@FuXXz2 sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
Danke für die Hilfe.
Es ist noch eine Frage aufgetreten, vielleicht kannst du mir da weiter helfen?
Wie wichtig sind beim Alias Skript die Stellen mit "role"?
Mir ist aufgefallen, im Skript steht z.B.createAlias('hm-rpc.0.xxx.1.STATE'/*Küche Fenster links STATE*/, 'Fenster.Kueche_Fenster_links', undefined, 'fenster_alias', 'boolean',undefined, undefined, 'Küche links', 'window.value', 'per Script erstellt', undefined, undefined, undefined, {false: 'geschlossen', true: 'geöffnet'})
Dort steht "window.value" im iobroker werden aber die HM und HMIP Fensterkontakte als sensor.window und value.window
Die Steckdosen sind als Switch gekennzeichnet. In dem Script mal als switch und mal als switch.lightZu role kannst Du hier lesen:
https://github.com/ioBroker/ioBroker/blob/master/doc/STATE_ROLES.md
In dem Script sind nur Beispiele wie ich es in meiner Installation, oder auch bei anderen Usern vorgefunden habe.
Ich habe einige Steckdosen wo nur Licht drann hängt. Die HUE Lampen haben bei .on (dem an/aus Schalter) switch.light. Da ich meine HUE Lampen und einige Steckdosen gemeinsam unter Licht angelegt habe, habe ich die genau so benannt.
-
Ok, danke.
Ich habe es jetzt am laufen
Es sind alle Aliase drinne, die Aufzählungen laufen, die Zustände habe ich kontrolliert, alles läuft. Geil
Btw. kann ich eigentlich die Icons ändern?
Hier ist doch bestimmt was nettes bei https://materialdesignicons.com/ -
@FuXXz2 sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
Ok, danke.
Ich habe es jetzt am laufen
Es sind alle Aliase drinne, die Aufzählungen laufen, die Zustände habe ich kontrolliert, alles läuft. Geil
Btw. kann ich eigentlich die Icons ändern?
Hier ist doch bestimmt was nettes bei https://materialdesignicons.com/Im Blockly sind "Smileys" und die sind im Blockly "verteilt". Da müßtest Du so einige Stellen ändern.
-
@dslraser in welchem intervall läuft das blockly eigentlich?
-
@Stephan-Schleich
Es wird Veränderungen in den Aliasen als Trigger nutzen müssen, da es ja in Echtzeit alles macht.@dslraser ok, das hört sich nicht danach an, dass ich das machen kann Später vielleicht mal.
Ich habe da noch ein paar Sachen- Kann ich den Unterordner "Haus" im Script einfach löschen (also das Wort Haus aus dem Feld) um dies los zu werden?
- Wäre es nicht irgendwie möglich über das Script Lichter zu schalten? Also ich bekomme z.B. von Telegram eine Nachricht, dass Licht X und Y an sind. Jetzt müsste man irgendwie sagen können, dass er diese dann ausschaltet. Im Telegram kann man ja jeden State als Befehl senden.
Das Gleiche bei Alexa? HConnect hat das so schön gemacht, da ist man noch so verwöhnt
-
@Stephan-Schleich sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
@dslraser in welchem intervall läuft das blockly eigentlich?
In gar keinem. Es aktualisiert die Werte, sobald sich ein Wert ändert.
-
@FuXXz2 sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
Kann ich den Unterordner "Haus" im Script einfach löschen (also das Wort Haus aus dem Feld) um dies los zu werden?
Das habe ich noch nicht probiert.
Dieses Feld war mal ein Wunsch eines Users, da er es mehrfach für mehrere Etagen nutzen wollte. Also ein Blockly mit z.B. Erdgeschoss und ein zweites Blockly mit Obergeschoss.Wäre es nicht irgendwie möglich über das Script Lichter zu schalten? Also ich bekomme z.B. von Telegram eine Nachricht, dass Licht X und Y an sind. Jetzt müsste man irgendwie sagen können, dass er diese dann ausschaltet. Im Telegram kann man ja jeden State als Befehl senden.
Das Gleiche bei Alexa? HConnect hat das so schön gemacht, da ist man noch so verwöhntJa, ich verstehe was Du meinst, aber worüber schalten ? (Telegram ? oder über den HTML Code ?)
Das Blockly war/ist zur Status Anzeige und Ansage über Alexa sowie den Versand über Telegram oder E-Mail gedacht. Es gibt Datenpunkte als Text und HTML zur Anzeige in z.B. iQontrol/jarvis und andere VIS...
An den HTML Datenpunkten verändere ich gerade noch Kleinigkeiten. -
@dslraser
Ich kenne mich zu wenig aus aber das Script weiß ja durch den Datenpunkt, welche Lichter noch an sind. Kann man das nicht über Telegram irgendwie mit senden.
Dort kann ich ja einfach /hm-rpc.0.OEQ0653132.1.STATE false eingeben, um zu schalten.
Gebe ich im Telegram /cmds ein, habe ich sogar Buttons zum schalten der Geräte.
Es würde theoretisch schon reichen, wenn das Script bei der Telegram Nachricht ein /cmds mit dran hängt.
-
@dslraser sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
@Stephan-Schleich sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
@dslraser in welchem intervall läuft das blockly eigentlich?
In gar keinem. Es aktualisiert die Werte, sobald sich ein Wert ändert.
Dann scheint beim aktualisieren ein Problem zu bestehen, hab nur eine drinnen, keine zwei:
-
@Stephan-Schleich sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
keine zwei:
Zeig mal bitte Deine Aufzählung von den Batterien.