NEWS
Alexa Ansagen I Telegram I EMail I Alias I VISU I HTML
-
@Idefix01
und jetzt bitte noch das RAW vom Original Datenpunkt.
(Schön wären beide RAW als Code in Code Tags, dann kann ich die bei mir mal einfügen){ "from": "system.adapter.javascript.0", "user": "system.user.admin", "ts": 1609791900526, "common": { "name": "Flur Sensor", "type": "number", "role": "config", "desc": "per Script erstellt", "unit": "Prozent", "def": 100, "read": true, "write": true, "alias": { "id": "hue.0.Sensor_Flurlicht.battery" } }, "native": {}, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "_id": "alias.0.Batterien_Prozent.Flur_Sensor", "type": "state" }Original:
{ "from": "system.adapter.hue.0", "user": "system.user.admin", "ts": 1586632015567, "common": { "name": "Sensor Flurlicht.battery", "type": "number", "role": "config", "def": 100, "read": true, "write": true }, "native": { "id": "2" }, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "_id": "hue.0.Sensor_Flurlicht.battery", "type": "state" } -
{ "from": "system.adapter.javascript.0", "user": "system.user.admin", "ts": 1609791900526, "common": { "name": "Flur Sensor", "type": "number", "role": "config", "desc": "per Script erstellt", "unit": "Prozent", "def": 100, "read": true, "write": true, "alias": { "id": "hue.0.Sensor_Flurlicht.battery" } }, "native": {}, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "_id": "alias.0.Batterien_Prozent.Flur_Sensor", "type": "state" }Original:
{ "from": "system.adapter.hue.0", "user": "system.user.admin", "ts": 1586632015567, "common": { "name": "Sensor Flurlicht.battery", "type": "number", "role": "config", "def": 100, "read": true, "write": true }, "native": { "id": "2" }, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "_id": "hue.0.Sensor_Flurlicht.battery", "type": "state" }@Idefix01
mal eine Frage, wurde Dir bei diesem Datenpunkt schon mal was anderes als 100 angezeigt ? (so einen RAW habe ich noch nicht gesehen, aber ich habe auch so ein Gerät nicht) -
@Idefix01
mal eine Frage, wurde Dir bei diesem Datenpunkt schon mal was anderes als 100 angezeigt ? (so einen RAW habe ich noch nicht gesehen, aber ich habe auch so ein Gerät nicht) -
nein bisher immer 100. aber ich denke die Batterien halten auch recht lange, so sagt zumindest Hue
-
habe es soeben nochmal versucht die Ansage, und komischerweise funktionierte es jetzt komplett
....Technik die begeistert

@Idefix01
ich habe es selbst eben gerade probiert und beim ersten Versuch war Dein Wert bei mir auch falsch, aber ich kann es nicht mehr nachstellen. Ich habe einmal den Wert von Hand verändert, dann ging es. Sogar alles gelöscht und wieder angelegt, keiner Fehler mehr.Technik die begeistert
ja, schon....aber wir müssen das mal beobachten.
-
Versionen 1.8.1 zuletzt aktualisiert am Dezember 2021 Typ Blockly mit JavaScript Funktionen verwendete Adapter je nach dem was im Blockly aktiviert ist verwendete Geräte verschieden - gemischt Ursprung war hier Version 1.8.1 hier Zusatzblockly zur Anruferansage klick hier Hallo Zusammen.
Da mir der ursprüngliche Forum Thread zu lang geworden ist und sich der Funktionsumfang des Blockly immer wieder verändert hat erstelle ich hier einen neuen Beitrag. Diese "Anleitung" möchte ich hiermit auch auf den aktuellen Stand bringen und somit die Anwendung erleichtern.Ich stelle hier meine Blockly's zum Geräte zählen und optional zum Ansagen über den Alexa2 Adapter über speak, sowie optionaler Versand über Telegram / E-Mail zur Verfügung. Ebenfalls werden diverse Listen als Text oder HTML Ausgaben zur Verfügung gestellt.
Das gesamte Blockly nutzt "alias". Alle anderen benötigten Datenpunkte erstellt oder löscht das Blockly selbst, je nach dem was verwendet werden soll.
Wer also keine alias erstellen oder nutzen möchte kann an dieser Stelle aufhören zu lesen, für alle anderen Interessierten versuche ich möglichst genau zu beschreiben was zu tun ist.Meine verwendeten Adapter sind:
- Alexa2 Adapter
- iot Adapter
- Javascript Adapter
- Telegram Adapter (optional)
- E-Mail Adapter (optional)
- iQontrol (optional)
- jarvis (optional)
- alias-manager (optional)
Mit Alexa geht dann z.B.
- Alexa, welche Fenster sind noch auf
- Alexa, welche Türen sind noch auf
- Alexa, welche Steckdosen sind noch an
- Alexa, welche Lampen sind noch an
- Alexa, was machen die Batterien
- Alexa, welche Bewegungsmelder sind aktiv
- Alexa, wie sind die Temperaturen (Ansage, aller Temperaturen meiner Räume und Außentemperatur nacheinander in einer Ansage)
- Alexa, schick mir den Status der Batterien(Fenster/Türen/Lampen/ Bewegungsmelder usw.---entweder auf Telegram oder per E-Mail, oder auf beides)
Welche Frage in welcher Formulierung gestellt wird bestimmt Ihr natürlich selbst, da dies über eine Routine in der Alexa App gesteuert werden kann. Dazu später mehr.
Ein Hinweis gleich noch zu Beginn. Da die Ansage am angesprochenen ECHO erfolgen soll, kann es vorkommen, das, wenn es mehrere ECHO's in Hörweite gibt, das die Ansage an einem anderen ECHO ausgegeben wird, weil sich ein anderer ECHO "angesprochen fühlt". Wenn ich in einem Raum bin, wo mich nur ein ECHO hören kann, funktioniert es bei mir zuverlässig.SmartGeräte und SmartNamen für den iot Adapter werden direkt im Blockly erstellt, das sind dann die Button für die spätere Routine in der Amazon App.
Das Blockly legt die benötigten Datenpunkte wahlweise unter 0_userdata.0 oder javascript.x selbst an ( x = Javascript Instanznummer).
Für die Erstellung der Datenpunkte nutze ich diese Funktion.

Für diese Funktion muß die Option "Erlaube das Kommando "setObject" im Javascript Adapter erlaubt sein.

Im Blockly muß dann noch eine "Etage" eingestellt werden.
Mit den "Etagen" wäre es dann möglich z.B. seine Fenster, oder auch alle anderen Geräte, in mehreren Blocklys zu verwenden, also das Blockly einmal installieren für Fenster/Erdgeschoss und ein zweites Blockly dann z.B. für Fenster/Keller.
Hier muß dann eingestellt werden was verwendet werden soll. (wenn Fenster_verwenden auf falsch gestellt wird, werden alle vom Blockly angelegten Datenpunkte wieder gelöscht. Das gleiche gilt für die anderen Optionen, wenn diese auf falsch gestellt werden, dann werden die dazu gehörigen Datenpunkte gar nicht erst angelegt, oder wieder gelöscht.)

Bevor Ihr das Blockly nutzen könnt, müssen die Alias für Eure Geräte, die Ihr im Blockly verwenden wollt, erstellt werden. Dafür eignet sich die Scriptvorlage von @CruziX hervorragend. Mit dieser Vorlage können alle Alias auf einmal erstellt werden. Eine Vorlage als Beispiel findet [Ihr im Spoiler im 2. Beitrag]
(https://forum.iobroker.net/post/549502).
Eine weitere Möglichkeit zum alias erstellen ist der relativ neue Adapter alias-manager von @s-bormann (https://github.com/sbormann/ioBroker.alias-manager#readme)
An dieser Stelle sei gleich gesagt, sinnvolle Namen im Alias zu verwenden (id ist egal, nur der Name ist gemeint), da diese Namen dann für alles im Blockly verwendet werden, also alle Gerätenamen allgemein. Also immer so erstellen, das sich der Name auch z.B. für Alexa aussprechen lässt.
In der id keine Leerzeichen/Sonderzeichen oder Umlaute verwenden, damit vermeidet man direkt im Vorfeld mögliche Fehler.
Als erstes solltet ihr in den Aufzählungen neue Funktionen erstellen, diese kann man dann gleich im alias Script benutzen. Aufzählungen sind im ioBroker hier zu finden (Haken rein setzen bei Aufzählungen)
dann erscheinen die hier

Bei den Aufzälungen/Funktionen dann hier auf das + klicken

danach dann runter scrollen und dann auf das + bei Benutzerdefinierte Gruppe klicken

Ich habe folgende erstellt (wenn Ihr die gleichen nehmt müsst Ihr das nichtmal im Blockly umstellen)
batterien_voll_leer_alias
batterien_volt_alias
bewegungsmelder_alias
fenster_alias
licht_alias
steckdosen_alias
temperaturen_alias
tueren_alias
batterien_prozent_alias
rssi_aliasDas ist dann auch gleich der Selektor im jeweiligen Blockly

Wenn alle Blocklys benutzt werden sieht das in den ioBroker Objekten so aus:

Am Beispiel Fenster erstellt das Blockly nach dem ersten Start diese Datenpunktstruktur: (wenn alle Schalter im Blockly auf wahr stehen und die "Etage" Haus heißt, bei mit unter 0_userdata.0)

-
Unter 01_Anzeigen_und_Listen sieht es so aus, wobei die Unterpunkte 11/12/13 selbst mit Smileys befüllt/überschrieben werden können. Auf meinem Mac geht das z.B. mit der rechten Maustaste in das Feld klicken und den Emoji auswählen, bei Windows weiß ich es nicht)
-
Die Datenpunkte 1-5 sind (denke ich) Selbsterklärend.
-
In 06 sind alle "aktiven" Geräten als Textliste.
-
In 07 ist die gesamte Liste inkl. Zustand als Text.
-
In 08 sind alle Geräte inklusive Zustand (+ Emoji wenn eingestellt) als HTML Liste.
-
In 09 sind alle "aktiven" Geräte (gekippt oder geöffnet + Emoji wenn eingestellt)
-
In 10 ist eine formartierte Liste für den Telegram/Email Versand, ebenfalls mit Emoji

-
Unter 02_Trigger_und_Schalter sieht es so aus. Hier lassen sich verschiedene Dinge für die HTML Ausgabe Listen umschalten.

-
Unter 02_Trigger_und_Schalter kann es auch so aussehen. Mit den zwei zusätzlichen Datenpunkten lässt sich z.B. in der HTML Überschrift der Status an/abschalten, oder auch für iQontrol Nutzer direkt in der Tabelle Geräte schalten (bei Licht und Steckdosen, andere Geräte lassen sich ja nicht schalten)

-
Unter 03_HTML_Daten befinden sich zwei Unterordner.
-
Unter 01_HTML_Hell_Dunkel_Festeinstellung kann nichts verändert werden. Dort sind alle Datenpunkte für die HTML Listen enthalten. Diese Ansichten können dann mit den Datenpunkten aus 02_Trigger_und_Schalter umgetellt werden. Dazu später noch mehr, insbesondere wenn man iQontrol nutzen möchte.

-
In 02_HTML_Eigene_Einstellungen sieht es dann so aus. Dort können alle Datenpunkte für die HTML Anzeigen selbst eingestellt werden. Beim ersten Aufruf dieser Anzeige werden die Datenpunkte mit "Standardwerten" gefüllt und können dann überschrieben werden.


Die Bilder bzw. Icon links und rechts habe ich als Base64 eingefügt. Ich benutze dafür das hier: https://www.base64-image.de/
Wenn iQontrol installiert ist, dann funktioniert auch der Pfad zu einem Icon (einfach den eingestellten Pfad zum Icon aus iQontrol kopieren und einfügen)
In den eigenen 02_HTML_Eigene_Einstellungen kann alles selbst an die eigenen Wünsche angepasst werden.
Hier noch ein kurzes GiF
(klick auf das linke Icon schaltet die Farbeinstellungen durch. klick auf das rechte Icon blendet die Tabelle ein und aus bzw. schaltet auf aktiv/inaktiv)

-
Unter 04_Alexa
befindet sich ein Button der für die später noch einzurichtende Routine in der Alexa App gebraucht wird. Der Button funktioniert nur wenn er per Sprache ausgelöst wurde. Wenn also per Hand der Button betätigt wird erfolgt keine Ansage, oder nur Zufällig auf den gerade zuletzt genutzten ECHO.

-
Unter 05_Telegram befindet sich ein Button und ein Schalter.

-
Unter 06_E-Mail befindet sich ein Button und ein Schalter.

Der Button in 05 und 06 kann verwendet werden um den aktuellen Status bzw. aktive Geräte als Liste zu senden.
Der Schalter aktiviert/deaktiviert den "Direktversand" dieser Listen. Das könnte man z.B. bei Abwesenheit einschalten lassen, dann wird bei jeder Änderung, z.B. wenn eine Tür geöffnet/geschlossen wird eine Liste versendet.
Im Spoiler noch einige wichtige Dinge für die Alexa Ansage und den iot Adapter:
Alle Blockly Exporte sind/kommen in den zweiten Beitrag. Bilder und Videos in den dritten Beitrag
Vielen Dank für das tolle Skript, es hat alles von Anfang an funktioniert.
Ich wollte mich nun an die Alarmanlagenfunktion machen und habe gesehen, dass dies so auch schon einfach umgesetzt werden kann:

Ich habe den Wert im ioBroker testweise manuell auf true gesetzt, dies wurde auch mit roter Schrift bestätigt und ich bekomme nun bei jeder Zustandsänderung eines Fensters eine Telegramnachricht.
Jetzt mein Problem: Ich kann den Wert nicht wieder auf "false" (weder per Haken, noch indem ich false schreibe) setzen, er bleibt immer auf "true"
Was mache ich falsch? -
Vielen Dank für das tolle Skript, es hat alles von Anfang an funktioniert.
Ich wollte mich nun an die Alarmanlagenfunktion machen und habe gesehen, dass dies so auch schon einfach umgesetzt werden kann:

Ich habe den Wert im ioBroker testweise manuell auf true gesetzt, dies wurde auch mit roter Schrift bestätigt und ich bekomme nun bei jeder Zustandsänderung eines Fensters eine Telegramnachricht.
Jetzt mein Problem: Ich kann den Wert nicht wieder auf "false" (weder per Haken, noch indem ich false schreibe) setzen, er bleibt immer auf "true"
Was mache ich falsch?@alter-verwalter sagte in Alexa Ansagen I Telegram I EMail I Alias I VISU I HTML:
Jetzt mein Problem: Ich kann den Wert nicht wieder auf "false" (weder per Haken, noch indem ich false schreibe) setzen, er bleibt immer auf "true" Was mache ich falsch?
Ich kenne das Problem nicht. Hast Du mal den Browser / das Browserfenster aktualisiert bzw. neu geladen ?
-
@alter-verwalter sagte in Alexa Ansagen I Telegram I EMail I Alias I VISU I HTML:
Jetzt mein Problem: Ich kann den Wert nicht wieder auf "false" (weder per Haken, noch indem ich false schreibe) setzen, er bleibt immer auf "true" Was mache ich falsch?
Ich kenne das Problem nicht. Hast Du mal den Browser / das Browserfenster aktualisiert bzw. neu geladen ?
@dslraser
Ich hatte es am Smartphone auf true geändert und dort lies es sich auch nach Neuladen von Chrome nicht ändern.Mit dem Laptop geht es wie es soll.
-
@dslraser
Ich hatte es am Smartphone auf true geändert und dort lies es sich auch nach Neuladen von Chrome nicht ändern.Mit dem Laptop geht es wie es soll.
@alter-verwalter sagte in Alexa Ansagen I Telegram I EMail I Alias I VISU I HTML:
Ich hatte es am Smartphone auf true geändert und dort lies es sich auch nach Neuladen von Chrome nicht ändern.
Mit einer VISU oder wie hast Du das dort auf true gesetzt ?
Edit: ich mache das z.B. mit iQontrol, da geht es auch wie es soll


Edit2: ich habe es gerade auch mit Chrome am Handy direkt in den ioBroker Objekten probiert, funktioniert bei mir auch.
-
@alter-verwalter sagte in Alexa Ansagen I Telegram I EMail I Alias I VISU I HTML:
Ich hatte es am Smartphone auf true geändert und dort lies es sich auch nach Neuladen von Chrome nicht ändern.
Mit einer VISU oder wie hast Du das dort auf true gesetzt ?
Edit: ich mache das z.B. mit iQontrol, da geht es auch wie es soll


Edit2: ich habe es gerade auch mit Chrome am Handy direkt in den ioBroker Objekten probiert, funktioniert bei mir auch.
@dslraser
Ich habe es einfach testweise mit dem Chromebrowser auf dem Smartphone auf true gesetzt in den Objekten, das lies sich dann nicht mehr ändern, nur noch auf dem Laptop.
Mit der VIS App geht es auch, gerade getestet. Also nur ein komisches Verhalten auf dem Browser im Smartphone. -
Für die iQontrol User hier mal zwei Versionen zum testen. (Steckdosen und Licht)
Mit diesen beiden Blocklys ist es möglich direkt in den HTML-Listen die Geräte an/aus zu schalten.Beispiel:


iQontrol Gerätetyp: Widget
zwei Einstellungen an meinem Beispiel für Licht:
0_userdata.0.Geraete_zaehlen.Lichter.Haus.01_Anzeigen_und_Listen.06_html_Lichter_Liste0_userdata.0.Geraete_zaehlen.Lichter.Haus.01_Anzeigen_und_Listen.02_Lichter_Anzahl_eingeschaltet






0_userdata.0.Geraete_zaehlen.Lichter.Haus.02_Trigger_und_Schalter.05_Schalter_fuer_Button_Tabelle_Lichter_Liste
-
Für die iQontrol User hier mal zwei Versionen zum testen. (Steckdosen und Licht)
Mit diesen beiden Blocklys ist es möglich direkt in den HTML-Listen die Geräte an/aus zu schalten.Beispiel:


iQontrol Gerätetyp: Widget
zwei Einstellungen an meinem Beispiel für Licht:
0_userdata.0.Geraete_zaehlen.Lichter.Haus.01_Anzeigen_und_Listen.06_html_Lichter_Liste0_userdata.0.Geraete_zaehlen.Lichter.Haus.01_Anzeigen_und_Listen.02_Lichter_Anzahl_eingeschaltet






0_userdata.0.Geraete_zaehlen.Lichter.Haus.02_Trigger_und_Schalter.05_Schalter_fuer_Button_Tabelle_Lichter_Liste
-
@dslraser muss ich dafür die Objekte unter userdata löschen? Oder muss ich "einfach" nur das Blockly tauschen?
@kueppert
Das Blockly tauschen sollte reichen.
Aber, ich habe im Blockly bei der Erstellung der Datenpunkte etwas verändert (Betrifft die eigenen HTML Datenpunkte), da ich mit dem aktuellen JSAdapter (latest) sonst einen Fehler provozieren konnte. Ich ändere gerade auch alle anderen Blocklys auf 1.6.8.
Also, wenn Deine eigenen HTML Datenpunkte schon befüllt sind, dann brauchst Du nur das Blockly tauschen. -
Heute habe ich zum ersten Mal, seit dem ich mein LowBat Blockly benutze, eine reale Meldung bekommen und die Batterie getauscht. Es funktioniert also.


-
Heute habe ich zum ersten Mal, seit dem ich mein LowBat Blockly benutze, eine reale Meldung bekommen und die Batterie getauscht. Es funktioniert also.


-
@da_woody
Prost Du Sack🤭 -
Hier stand Müll

-
Heute habe ich zum ersten Mal, seit dem ich mein LowBat Blockly benutze, eine reale Meldung bekommen und die Batterie getauscht. Es funktioniert also.


-
@da_woody sagte in Alexa Ansagen I Telegram I EMail I Alias I VISU I HTML:
hast du das lowbat blockly eigentlich im spendensackerl?
?
-
@da_woody sagte in Alexa Ansagen I Telegram I EMail I Alias I VISU I HTML:
hast du das lowbat blockly eigentlich im spendensackerl?
?


oder hab ich was überlesen?