NEWS
Fenster und andere Geräte zählen opt. Alexa Ansagen
-
@AlCalzone sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
@dslraser Danke - könnt ihr identifizieren, was der Ausgangsblock für Zeile 267 ist? Oder das betroffene Skript/Blockly teilen?
Würde die Fehlersuche vermutlich etwas vereinfachen.Das Blockly ist als zip Datei in einem Spoiler im ersten Beitrag zu finden.
Ich habe die Funktion (das ist die erste Funktion die ausgeführt werden soll, davon gibt es noch mehr in dem Blockly)
hier mal aus der JS Ansicht raus kopiert, ist dort im Spoiler:https://forum.iobroker.net/post/510233
Bei @sigi234 Beiträgen gibt es einen Screenshot
Edit: das ist die gleiche Funktion in der 4.9.4)
Vergleich mit 4.6.26
EDIT 2:
Hier noch das Blockly (Achtung, das Blockly ist sehr groß und der Import dauert je nach genutzter Maschine einen Moment)
Komplettblockly_speak_alias-0-8.txt.zip -
@dslraser sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
Ich habe die Funktion (das ist die erste Funktion die ausgeführt werden soll, davon gibt es noch mehr in dem Blockly)
hier mal aus der JS Ansicht raus kopiert, ist dort im Spoiler:Könntest du mal nur mit dieser einen Funktion ein Test-Blockly erstellen und das exportieren?
-
@AlCalzone
Muss ich später probieren, dauert dann noch etwas. (aber, ich habe noch 4.6.26 drauf) Soll ich das damit machen ? -
@dslraser Es reicht ein möglichst einfaches Blockly, das in 4.9.4 den Fehler zeigt.
-
@AlCalzone sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
@dslraser Es reicht ein möglichst einfaches Blockly, das in 4.9.4 den Fehler zeigt.
ich habe jetzt mal alles bis auf die Variante "Batterien_voll_leer_zaehlen" raus gelöscht. Ich denke der Rest wird trotzdem benötigt, das das Blockly überhaupt läuft. Jetzt sind es noch:
Komplett sind es:
Das Blockly legt halt auch alle benötigten Datenpunkte selbst an und löscht sie bei Bedarf auch wieder, wenn die Auswahl auf false gestellt wird. Hier vielleicht mal die kleine Version (1:1 so lassen) zum probieren. Ich kann es mangels 4.9.4 nicht probieren, da ich auch keine Testmaschine habe und erst up und dann wieder downgraden müßte.
Bei 4.6.26 läuft es so jedenfalls noch, gerade probiert. -
@dslraser Ok damit ist es in 4.9.4 reproduzierbar
Edit: Boar, wie kann man sich das freiwillig antun?! Ich bin mehr mit Scrollen beschäftigt als sonst was.
-
@AlCalzone sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
Edit: Boar, wie kann man sich das freiwillig antun?! Ich bin mehr mit Scrollen beschäftigt als sonst was.
ich schiebe das auf dem Mac mit zwei Fingern durch die Gegend (ohne Scrollbar, geht ja jetzt, ging vor ner Weile noch nicht)
-
@dslraser auf meinem kleinen NUC is nicht mal was mit Scrollen ^^ hab das Bockly 0.7 und 0.8 vergleichen wollen...hab nach 10 Minuten aufgegeben. Muss dafür später an meinen performanten Rechner
-
@dslraser Trotzdem, mir ist der Informationsgehalt pro cm² zu wenig
Nichtsdestotrotz, Fehler gefunden - Bei in Blockly definierten Funktionen fehlt im Gegensatz zu den JavaScript-Funktionen das
async
-Keyword. Jetzt nur noch rausfinden, wie man das fixen kann. -
@AlCalzone sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
@dslraser Ok damit ist es in 4.9.4 reproduzierbar
Edit: Boar, wie kann man sich das freiwillig antun?! Ich bin mehr mit Scrollen beschäftigt als sonst was.
Das Blockly zwingt meinen Pc fast in Knie.
-
@sigi234 sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
Das Blockly zwingt meinen Pc fast in Knie.
aber nur kurz beim Import. Im Betrieb merkst Du davon nix....Ich kann es sogar flüssig bearbeiten.
-
@AlCalzone sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
Nichtsdestotrotz, Fehler gefunden - Bei in Blockly definierten Funktionen fehlt im Gegensatz zu den JavaScript-Funktionen das async-Keyword. Jetzt nur noch rausfinden, wie man das fixen kann.
Prima. So ist das wenn man Ahnung davon hat.
Ich bin nur Nutzer -
@AlCalzone
@sigi234
@SWeimarNichtsdestotrotz, Fehler gefunden - Bei in Blockly definierten Funktionen fehlt im Gegensatz zu den JavaScript-Funktionen das async-Keyword. Jetzt nur noch rausfinden, wie man das fixen kann.
mit 4.9.7 funktioniert es jetzt bei mir
-
Ich habe jetzt mal die Version 0.9 erstellt (noch nicht hoch geladen). Damit ist es möglich für die HTML Listen ein Standard Farbthema/ein helles Farbthema und ein dunkles Farbthema per Schalter in den Datenpunken zu schalten.
Hier mal am Beispiel mit iQontrol und der Fensterliste.
-
@dslraser sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
Ich habe jetzt mal die Version 0.9 erstellt (noch nicht hoch geladen). Damit ist es möglich für die HTML Listen ein Standard Farbthema/ein helles Farbthema und ein dunkles Farbthema per Schalter in den Datenpunken zu schalten.
Hier mal am Beispiel mit iQontrol und der Fensterliste.
Ich habe die Version 0.9 in den ersten Beitrag hochgeladen.
neue Datenpunkte sind dann am Beispiel Fenster diese hier: -
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