NEWS

  • Forum Testing Most Active

    Versionen 1.7.0
    zuletzt aktualisiert am 20.02.2021
    Typ Blockly mit JavaScript Funktionen
    verwendete Adapter je nach dem was im Blockly aktiviert ist
    verwendete Geräte verschieden - gemischt
    was kann das Blockly wird hier beschrieben
    Ursprung war 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:

    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).

    01_Speicherort.png

    Für die Erstellung der Datenpunkte nutze ich das Script von @Mic in einer Funktion.

    03_Funktion_Datenpunkte_anlegen.png

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

    02_JS_Adapter_Einstellung.png

    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.

    04_Etage.png

    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.)

    05_Blockly_Grundeinstellungen.png

    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. 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)

    06_Aufzählung_einstellen.png

    dann erscheinen die hier

    07_Aufzählung_einstellen.png

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

    08_Funktionen.png

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

    09_benutzerdefinierte Gruppe.png

    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

    Das ist dann auch gleich der Selektor im jeweiligen Blockly

    10_Selektor.png

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

    11_Geräte zählen.png

    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)

    12_Datenpunktstruktur.png

    • 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
      13_Anzeigen_und_Listen.png

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

    • 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)
      Bildschirmfoto 2021-02-20 um 18.55.23.png

    • 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.
      15_HTML_Daten.png

    • 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.
      16_eigene_html.png
      17_eigene_html.png
      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)
      1606936309509-20201202_200704.gif

    • 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.
      18_Alexa.png

    • Unter 05_Telegram befindet sich ein Button und ein Schalter.
      19_Telegram.png

    • Unter 06_E-Mail befindet sich ein Button und ein Schalter.
      20_EMAIL.png

    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.

    Alle Blockly Exporte sind/kommen in den zweiten Beitrag. Bilder und Videos in den dritten Beitrag

  • Forum Testing Most Active

    Zusatzblockly zur Anruferansage, Beschreibung folgt. Ursprung ist von hier

  • Forum Testing Most Active

    Bilder und Videos
    von:

    • jarvis
    • iQontrol
    • Telegram
    • EMAIL

  • Forum Testing Most Active

    @dslraser sagte in Alexa Ansagen I Telegram I EMail I Alias I VISU I HTML:

    wenn gewünscht (optional) jarvis

    Ja bitte! 👍


  • @dslraser

    Nachdem ich eine alte Version von diesem Script (alles in einem) noch hatte, habe ich nun die neuen Scripte eingerichtet. Ich besitze mehrere Echo Geräte und habe nun folgende Probleme:

    1. Ein Echo Geräte läuft über ein völlig anderen Amazon Account aber trotzdem erfolgt die Ansage auch auf diesem Echo wenn ich es über die App starte.
    2. Ein Abruf funktioniert momentan nur per Alexa App über Geräte aber nicht über den iobroker/Objekte und dann Punkt 4 Alexa Button.

    Mail sowie Telegram funktioniert über den iobroker Button einwandfrei.

    Kann es sein das ich erst Routinen einrichten muss für die jeweiligen Ansagen? Wie kann ich einen speziellen Echo für die Ansage zuweisen?

  • Forum Testing Most Active

    @Idefix01 sagte in Alexa Ansagen I Telegram I EMail I Alias I VISU I HTML:

    Kann es sein das ich erst Routinen einrichten muss für die jeweiligen Ansagen? Wie kann ich einen speziellen Echo für die Ansage zuweisen?

    Das sollte alle Deine "Probleme lösen", da die Datenpunkte jetzt woanders sind und auch die SmartNamen anders heißen. Solltest Du die alten Datenpunkte noch haben, dann lösche die erstmal. Dann schaue im iot nach, ob alle SmartGeräte der neuen Struktur da sind. Dann noch neue Geräte in der Amazon App suchen und Deinen Routinen wieder zuordnen.
    Auch zwei Alexa Instanzen sind noch im Blockly, kann ich nur nicht probieren, weil ich nur eine Instanz habe.


  • @dslraser
    Kann ich eine Alexa Instanz davon deaktivieren oder wird diese benötigt?

  • Forum Testing Most Active

    @Idefix01 sagte in Alexa Ansagen I Telegram I EMail I Alias I VISU I HTML:

    @dslraser
    Kann ich eine Alexa Instanz davon deaktivieren oder wird diese benötigt?

    verstehe ich jetzt nicht, ich denke Du hast zwei ?
    Wenn Du alles richtig eingerichtet hast, dann wird die Anfrage immer am angesprochenen ECHO beantwortet.
    (Nicht über die App anfragen, bzw. übers Handy anfragen, die haben keinen speak Datenpunkt und können somit nicht antworten). Den Button von Hand auslösen bringt auch nix, bzw. falsche Ergebnise.
    Routine einrichten, den Button da zuordnen und dann einen richtigen ECHO fragen.


  • @dslraser

    Die Routinen habe ich alle soweit eingerichtet. Wenn ich ein Echo anspreche funktioniert die Ansage auch soweit.

    Aber in der alten Version war die Möglichkeit noch über Button das ganze aufzurufen.
    Hintergrund ist folgender: Ich habe in der Vis mir eine Button Seite eingerichtet wo ich die jeweiligen Stände abfragen konnte, einmal als Ansage und einmal als Telegram.
    Telegram funktioniert der Button soweit, aber für die Alexa Ansage der Button funktioniert nicht mehr.

    Bei Batterie Prozent sagt er 1 Batterie fast leer, Flur Sensor %

    batprozent.png

  • Forum Testing Most Active

    @Idefix01 sagte in Alexa Ansagen I Telegram I EMail I Alias I VISU I HTML:

    Aber in der alten Version war die Möglichkeit noch über Button das ganze aufzurufen.
    Hintergrund ist folgender: Ich habe in der Vis mir eine Button Seite eingerichtet wo ich die jeweiligen Stände abfragen konnte, einmal als Ansage und einmal als Telegram.
    Telegram funktioniert der Button soweit, aber für die Alexa Ansage der Button funktioniert nicht mehr.

    In welcher Version soll das gewesen sein ?
    Hast Du das vielleicht in einem anderem Blockly selbst gemacht ?
    Der Button in meinen Blockly diente, soweit ich mich erinnern kann, immer nur zum auslösen über die Routine.


  • @dslraser

    Danke Dir. Das war Version 1.0, aber ich habe soeben entdeckt das es da noch eine Erweiterung als Script gab damit man über den Button auch eine Ansage erhält.
    Vielen Dank für die schnelle Hilfe

  • Forum Testing Most Active

    @Idefix01 sagte in Alexa Ansagen I Telegram I EMail I Alias I VISU I HTML:

    @dslraser

    Danke Dir. Das war Version 1.0, aber ich habe soeben entdeckt das es da noch eine Erweiterung als Script gab damit man über den Button auch eine Ansage erhält.
    Vielen Dank für die schnelle Hilfe

    ja, ich habe auch nochmal nachgesehen und hatte noch im Hinterkopf das mal jemand danach gefragt hatte. Ich wußte nur nicht mehr wer und wann das war, aber das warst Du. Du hattest Dir was zusätzlich eingerichtet.😉

    Das war hier
    https://forum.iobroker.net/post/460554


  • @dslraser

    Genau deswegen hatte ich es auch so schnell wieder gefunden 😊

    Nur Prozent funktioniert irgendwie nicht so. Er sagt bei meinem Hue Sensor nur an: "Flur Sensor %" und ein Handy meldet er gar nicht.

    Bat-Prozent.png
    Bat-Prozent1.png

  • Forum Testing Most Active

    @Idefix01
    Zeige mir mal einen RAW (vom alias) von einem wo es nicht funktioniert.

    Edit: warum sind die so ?

    Screenshot_20210105-212621_Chrome.jpg


  • @dslraser

    meinst du das?

    createAlias('javascript.0.akkustand.handy-sandra'/*handy-sandra*/, 'Batterien_Prozent.handy-sandra', undefined, 'batterien_prozent_alias', 'number', undefined, undefined, 'Handy Sandra', 'state', 'per Script erstellt', undefined, undefined, 'Prozent', undefined)
    createAlias('javascript.0.akkustand.handy-soeren'/*handy-soeren*/, 'Batterien_Prozent.handy-soeren', undefined, 'batterien_prozent_alias', 'number', undefined, undefined, 'Handy Sören', 'state', 'per Script erstellt', undefined, undefined, 'Prozent', undefined)
    createAlias('fullybrowser.0.192_168_178_37.Info.batteryLevel'/*Haussteuerung Tablet*/, 'Batterien_Prozent.Haussteuerung_Tablet', undefined, 'batterien_prozent_alias', 'number', undefined, undefined, 'Haussteuerung Tablet', 'value', 'per Script erstellt', undefined, undefined, 'Prozent', undefined)
    createAlias('hue.0.Sensor_Flurlicht.battery'/*Flur Sensor*/, 'Batterien_Prozent.Flur_Sensor', undefined, 'batterien_prozent_alias', 'number', undefined, undefined, 'Flur Sensor', 'config', 'per Script erstellt', undefined, undefined, 'Prozent', undefined)
    
    Bei Flur Sensor kommt nur Ansage: "Flur Sensor %" und Handy Sören kommt gar nicht
    
  • Forum Testing Most Active

  • Forum Testing Most Active

    @dslraser sagte in Alexa Ansagen I Telegram I EMail I Alias I VISU I HTML:

    jarvis

    Wie in Jarvis einbinden?

  • Forum Testing Most Active

    @sigi234 sagte in Alexa Ansagen I Telegram I EMail I Alias I VISU I HTML:

    Wie in Jarvis einbinden?

    einfach einen der beiden html Datenpunkte in jarvis als custom html auswählen, je nachdem welche Tabelle Du anzeigen möchtest.

    Edit:(ich muß noch die Zeit und die Lust für den Rest der "Anleitung" finden, die ist noch nicht fertig)

  • Forum Testing Most Active

    @sigi234 sagte in Alexa Ansagen I Telegram I EMail I Alias I VISU I HTML:

    Wie in Jarvis einbinden?

    Gerät hinzufügen

    Bildschirmfoto 2021-01-06 um 09.12.09.png

    Bildschirmfoto 2021-01-06 um 09.14.11.png

    Bildschirmfoto 2021-01-06 um 09.03.14.png

    bei mir unter Sonstige

    Bildschirmfoto 2021-01-06 um 09.03.31.png

    Bildschirmfoto 2021-01-06 um 09.03.57.png

    Bildschirmfoto 2021-01-06 um 09.04.31.png

    8 oder 9 auswählen

    Bildschirmfoto 2021-01-06 um 09.06.12.png

    bei mir 8

    Bildschirmfoto 2021-01-06 um 09.10.10.png

  • Forum Testing Most Active

    @dslraser

    Danke, bin schon dabei. Muss noch testen wie ich alle gleich Groß bekomme.

    Screenshot (3041).png

Suggested Topics

  • 15
  • 5
  • 6
  • 11
  • 4
  • 4
  • 5
  • 15

2.0k
Online

36.7k
Users

42.4k
Topics

587.6k
Posts