Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. Alexa Ansagen I Telegram I EMail I Alias I VISU I HTML

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.6k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.1k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    2.9k

Alexa Ansagen I Telegram I EMail I Alias I VISU I HTML

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
alexaansageblocklyfensteriqontroljarvisjavascripttür-fenster-kontakt
524 Beiträge 40 Kommentatoren 122.1k Aufrufe 57 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • schmerenkoS schmerenko

    Hallo, kann mir jemand ein Tipp geben, warum z.B ich keine 01_ Lichter angezeigt bekomme?
    Ich habe statt licht_alias die Funktion Licht übernommen und es auch im Script geändert
    0d413ef7-d480-4453-a751-bbf05e1fb31b-image.png
    6600a70b-60e4-42d8-a2d8-085f6874c17f-image.png

    dslraserD Offline
    dslraserD Offline
    dslraser
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #133

    @schmerenko
    Zeige mal bitte einen Screenshot von Deinen Aufzählungen. Ich befürchte da steht überall nur SET bei den states. (in der Aufzählung nur states rein machen, nicht die ganzen channel)
    Starte mal den admin neu. Achtung, nicht stoppen, nur mit dem Pfeilkreis neu starten, sonst sperrst Du Dich aus. Danach noch den Javascript Adapter neu starten.
    Da, mit dem Pfeilkreis admin neu starten.
    Bildschirmfoto 2021-03-27 um 12.58.23.png

    schmerenkoS 1 Antwort Letzte Antwort
    0
    • dslraserD dslraser

      @schmerenko
      Zeige mal bitte einen Screenshot von Deinen Aufzählungen. Ich befürchte da steht überall nur SET bei den states. (in der Aufzählung nur states rein machen, nicht die ganzen channel)
      Starte mal den admin neu. Achtung, nicht stoppen, nur mit dem Pfeilkreis neu starten, sonst sperrst Du Dich aus. Danach noch den Javascript Adapter neu starten.
      Da, mit dem Pfeilkreis admin neu starten.
      Bildschirmfoto 2021-03-27 um 12.58.23.png

      schmerenkoS Offline
      schmerenkoS Offline
      schmerenko
      schrieb am zuletzt editiert von
      #134

      @dslraser
      Den Admin hatte ich bereits mehrmals gestartet..
      meinst du diesen Screenshot ?
      b9638532-7167-4353-8dc4-c516d6f333dc-image.png

      dslraserD 1 Antwort Letzte Antwort
      0
      • schmerenkoS schmerenko

        @dslraser
        Den Admin hatte ich bereits mehrmals gestartet..
        meinst du diesen Screenshot ?
        b9638532-7167-4353-8dc4-c516d6f333dc-image.png

        dslraserD Offline
        dslraserD Offline
        dslraser
        Forum Testing Most Active
        schrieb am zuletzt editiert von dslraser
        #135

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

        @dslraser
        Den Admin hatte ich bereits mehrmals gestartet..
        meinst du diesen Screenshot ?
        b9638532-7167-4353-8dc4-c516d6f333dc-image.png

        Ja, den meine ich. Deine Aufzählung heißt nicht Licht sondern Light.(das letzte, hinter dem letzten Punkt ist die Aufzählung---enum.functions.Light)

        Edit: funktionieren wird es trotzdem nicht wie gewünscht, weil in Deiner Aufzählung nicht die eigentlichen states sind. Du hast da anscheinend den chanel drinn.

        1 Antwort Letzte Antwort
        1
        • dslraserD dslraser

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

          In VIS haben beide Button keine Funktion.

          Ich habe kein VIS, von daher weiß ich nichtmal wie das html dafür sein müßte...?

          Wenn ich das nicht ändern kann, lege ich einen zweiten Button einfach darüber.

          Das sollte doch dann gehen, sag mal Bescheid ob das geht.

          dirk1962D Offline
          dirk1962D Offline
          dirk1962
          schrieb am zuletzt editiert von
          #136

          Hallo @dslraser, mit dem Buttom zum Umschalten der html-Tabellen in VIS funktioniert gut. Nachdem ich nun mit iQontrol ein wenig rumprobiert habe, muss ich aber feststellen, dass die html-Tabellen in iQontrol deutlich besser formatiert sind.
          Vielleicht wird es für VIS noch besser, wenn @Lucky_ESA den html-Bereich überarbeitet.

          NUC8i5 mit Proxmox; Raspberrymatic in VM, iobroker, Motioneye, infuxDB und Grafana in CT.

          1 Antwort Letzte Antwort
          0
          • H Offline
            H Offline
            Happyuser20
            schrieb am zuletzt editiert von
            #137

            Hallo
            Ich benutze auch das Blockly für die Anruferansage. funktioniert auch super bei mir.
            Ich hätte da aber noch eine Frage/Wunsch.

            Kann man zwischen den zwei Ansagen eine Pause einbauen z.B. 5sek ?
            Wenn in dieser Pause der Anruf angenommen wird Alexa stumm schalten? (evtl. mit Datenpunkt aus dem TR 064 Adapter?)

            Bei uns steht das Telefon neben der Alexa und wenn man abhebt und Sie die Wiederholung brabbelt, ist das störend.

            Gruß
            HappyUser20

            dslraserD 1 Antwort Letzte Antwort
            0
            • H Happyuser20

              Hallo
              Ich benutze auch das Blockly für die Anruferansage. funktioniert auch super bei mir.
              Ich hätte da aber noch eine Frage/Wunsch.

              Kann man zwischen den zwei Ansagen eine Pause einbauen z.B. 5sek ?
              Wenn in dieser Pause der Anruf angenommen wird Alexa stumm schalten? (evtl. mit Datenpunkt aus dem TR 064 Adapter?)

              Bei uns steht das Telefon neben der Alexa und wenn man abhebt und Sie die Wiederholung brabbelt, ist das störend.

              Gruß
              HappyUser20

              dslraserD Offline
              dslraserD Offline
              dslraser
              Forum Testing Most Active
              schrieb am zuletzt editiert von dslraser
              #138

              @happyuser20
              wenn Du abhebst hört Sie ja auf zu brabbeln, aber die laufende Ansage wird noch abgearbeitet.
              Du könntest an diesen 3 Stellen in der Funktion main die 8 Sekunden verlängern, dann solltest Du mehr Zeit haben zwischen den Wiederholungen.

              Bildschirmfoto 2021-03-31 um 11.55.12.png

              Bildschirmfoto 2021-03-31 um 11.55.31.png

              Bildschirmfoto 2021-03-31 um 11.56.55.png

              1 Antwort Letzte Antwort
              0
              • dslraserD dslraser
                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).

                01_Speicherort.png

                Für die Erstellung der Datenpunkte nutze ich diese 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]
                (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)

                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
                rssi_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
                  Bildschirmfoto 2021-06-23 um 17.50.27.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.

                Im Spoiler noch einige wichtige Dinge für die Alexa Ansage und den iot Adapter:


                Zuerst muß das neue SmartGerät aus iot gesucht und gefunden werden. Dazu ist es wichtig einmal den iot Adapter zu öffnen und in den Reiter "SMART-GERÄTE" zu wechseln. Das neue Gerät sollte da sein, aber wenn man diesen Schritt nicht macht, dann werden von Alexa keine neuen Geräte gefunden. Danach kann der Adapter wieder geschlossen werden.

                1587908223350-bildschirmfoto-2020-04-26-um-15.34.49.png

                Nun entweder in der App neue Geräte suchen lassen, oder kurz den Sprachbefehl: "Alexa, suche neue Geräte" ausführen. Wenn das durchgelaufen ist und ein neues oder mehrere neue Geräte gefunden wurden, dann geht es mit dem Einrichten der Routine weiter.
                neue Geräte suchen lassen in der Alexa App

                1593522360683-2020-06-30-15.03.38.jpg

                ein neues Gerät (oder mehrere) wurde gefunden

                1593522438928-2020-06-30-15.04.00.jpg

                alles überspringen und dann zu den Routinen. Dort dann auf das Plus (oben rechts) drücken und eine neue Routine anlegen. Satz bzw. Frage eingeben bei Stimme

                1593522549969-2020-06-30-15.04.36.jpg

                Dann als nächstes die Aktion hinzufügen (SmartHome), alle Geräte auswählen und das passende Gerät einfügen.

                1593522621510-2020-06-30-15.04.55.jpg

                Oben rechts auf speichern, dann kurz warten und ausprobieren...

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

                sigi234S Online
                sigi234S Online
                sigi234
                Forum Testing Most Active
                schrieb am zuletzt editiert von sigi234
                #139

                @dslraser

                Hallo, ich möchte das das Blockly nur in der Zeit von 22-06 Uhr aktiv ist, geht das so?

                Screenshot (3558).png


                Fenster_Tuerwarnungen_Alexa.txt

                Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                Immer Daten sichern!

                dslraserD 1 Antwort Letzte Antwort
                0
                • sigi234S sigi234

                  @dslraser

                  Hallo, ich möchte das das Blockly nur in der Zeit von 22-06 Uhr aktiv ist, geht das so?

                  Screenshot (3558).png


                  Fenster_Tuerwarnungen_Alexa.txt

                  dslraserD Offline
                  dslraserD Offline
                  dslraser
                  Forum Testing Most Active
                  schrieb am zuletzt editiert von dslraser
                  #140

                  @sigi234
                  Falscher Thread ?

                  Edit: ? Das hier ?
                  https://forum.iobroker.net/post/604331

                  sigi234S 1 Antwort Letzte Antwort
                  0
                  • dslraserD dslraser

                    @sigi234
                    Falscher Thread ?

                    Edit: ? Das hier ?
                    https://forum.iobroker.net/post/604331

                    sigi234S Online
                    sigi234S Online
                    sigi234
                    Forum Testing Most Active
                    schrieb am zuletzt editiert von
                    #141

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

                    @sigi234
                    Falscher Thread ?

                    Edit: ? Das hier ?
                    https://forum.iobroker.net/post/604331

                    :face_with_head_bandage:

                    Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                    Immer Daten sichern!

                    1 Antwort Letzte Antwort
                    0
                    • H Offline
                      H Offline
                      Happyuser20
                      schrieb am zuletzt editiert von Happyuser20
                      #142

                      gelöscht

                      I 1 Antwort Letzte Antwort
                      0
                      • H Happyuser20

                        gelöscht

                        I Offline
                        I Offline
                        Idefix01
                        schrieb am zuletzt editiert von Idefix01
                        #143

                        @dslraser

                        Guten Abend, da ich alles neu einrichten musste habe ich natürlich auch gleich die neuen Versionen von dir verwendet.
                        Aliase sind soweit alle da, aber die Zählung erfolgt nicht. Die Funktionen sind soweit auch alle angelegt.

                        aliase.jpg

                        alias volt.jpg
                        hier mal die Log Daten

                        javascript.0	2021-04-04 21:47:27.664	warn	(11087) script.js.Haussteuerung2.Benachrichtigungen.Status_Batterien_Volt: setForeignState(id=javascript.0.Geraete_zaehlen.Batterien_Volt.Haus.01_Anzeigen_und_Listen.03_Batterien_Volt_Liste_mit_Emojis
                        javascript.0	2021-04-04 21:47:24.668	warn	(11087) script.js.Haussteuerung2.Benachrichtigungen.Status_Batterien_Volt: setForeignState(id=javascript.0.Geraete_zaehlen.Batterien_Volt.Haus.01_Anzeigen_und_Listen.04_Batterien_Volt_Anzahl_gesamt, s
                        javascript.0	2021-04-04 21:47:24.667	warn	(11087) script.js.Haussteuerung2.Benachrichtigungen.Status_Batterien_Volt: setForeignState(id=javascript.0.Geraete_zaehlen.Batterien_Volt.Haus.01_Anzeigen_und_Listen.02_html_Batterien_Volt_Liste, stat
                        javascript.0	2021-04-04 21:47:24.667	warn	(11087) script.js.Haussteuerung2.Benachrichtigungen.Status_Batterien_Volt: setForeignState(id=javascript.0.Geraete_zaehlen.Batterien_Volt.Haus.01_Anzeigen_und_Listen.01_gesamte_Batterien_Volt_Liste, s
                        javascript.0	2021-04-04 21:47:22.663	warn	(11087) script.js.Haussteuerung2.Benachrichtigungen.Status_Batterien_Volt: setForeignState(id=javascript.0.Geraete_zaehlen.Batterien_Volt.Haus.02_Trigger_und_Schalter.07_Umschalter_Farbe_Batterien_Vol
                        alexa2.0	2021-04-04 21:47:18.729	error	(623) Datatype for Echo-Devices.G091830894940E7U.Commands.speak differs from expected, ignore state change! Please write correct datatype (string)
                        javascript.0	2021-04-04 21:47:17.661	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Status_Batterien_Volt: registered 0 subscriptions and 0 schedules
                        javascript.0	2021-04-04 21:47:17.601	info	(11087) Start javascript script.js.Haussteuerung2.Benachrichtigungen.Status_Batterien_Volt
                        javascript.0	2021-04-04 21:46:49.975	info	(11087) Stop script script.js.Haussteuerung2.Benachrichtigungen.Status_Batterien_Volt
                        javascript.0	2021-04-04 21:45:59.901	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                        javascript.0	2021-04-04 21:45:59.901	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                        javascript.0	2021-04-04 21:45:59.900	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                        javascript.0	2021-04-04 21:45:59.898	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                        javascript.0	2021-04-04 21:45:59.897	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                        javascript.0	2021-04-04 21:45:59.897	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                        javascript.0	2021-04-04 21:45:59.897	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                        javascript.0	2021-04-04 21:45:59.897	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                        javascript.0	2021-04-04 21:45:59.896	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                        javascript.0	2021-04-04 21:45:59.896	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                        javascript.0	2021-04-04 21:45:59.896	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                        javascript.0	2021-04-04 21:45:59.896	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                        javascript.0	2021-04-04 21:45:59.895	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                        javascript.0	2021-04-04 21:45:59.895	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                        javascript.0	2021-04-04 21:45:59.895	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                        javascript.0	2021-04-04 21:45:59.894	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                        javascript.0	2021-04-04 21:45:59.894	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                        javascript.0	2021-04-04 21:45:59.894	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                        javascript.0	2021-04-04 21:45:59.894	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                        javascript.0	2021-04-04 21:45:59.893	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                        javascript.0	2021-04-04 21:45:59.893	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                        javascript.0	2021-04-04 21:45:59.892	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                        javascript.0	2021-04-04 21:45:59.667	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: registered 0 subscriptions and 0 schedules
                        
                        dslraserD 1 Antwort Letzte Antwort
                        0
                        • I Idefix01

                          @dslraser

                          Guten Abend, da ich alles neu einrichten musste habe ich natürlich auch gleich die neuen Versionen von dir verwendet.
                          Aliase sind soweit alle da, aber die Zählung erfolgt nicht. Die Funktionen sind soweit auch alle angelegt.

                          aliase.jpg

                          alias volt.jpg
                          hier mal die Log Daten

                          javascript.0	2021-04-04 21:47:27.664	warn	(11087) script.js.Haussteuerung2.Benachrichtigungen.Status_Batterien_Volt: setForeignState(id=javascript.0.Geraete_zaehlen.Batterien_Volt.Haus.01_Anzeigen_und_Listen.03_Batterien_Volt_Liste_mit_Emojis
                          javascript.0	2021-04-04 21:47:24.668	warn	(11087) script.js.Haussteuerung2.Benachrichtigungen.Status_Batterien_Volt: setForeignState(id=javascript.0.Geraete_zaehlen.Batterien_Volt.Haus.01_Anzeigen_und_Listen.04_Batterien_Volt_Anzahl_gesamt, s
                          javascript.0	2021-04-04 21:47:24.667	warn	(11087) script.js.Haussteuerung2.Benachrichtigungen.Status_Batterien_Volt: setForeignState(id=javascript.0.Geraete_zaehlen.Batterien_Volt.Haus.01_Anzeigen_und_Listen.02_html_Batterien_Volt_Liste, stat
                          javascript.0	2021-04-04 21:47:24.667	warn	(11087) script.js.Haussteuerung2.Benachrichtigungen.Status_Batterien_Volt: setForeignState(id=javascript.0.Geraete_zaehlen.Batterien_Volt.Haus.01_Anzeigen_und_Listen.01_gesamte_Batterien_Volt_Liste, s
                          javascript.0	2021-04-04 21:47:22.663	warn	(11087) script.js.Haussteuerung2.Benachrichtigungen.Status_Batterien_Volt: setForeignState(id=javascript.0.Geraete_zaehlen.Batterien_Volt.Haus.02_Trigger_und_Schalter.07_Umschalter_Farbe_Batterien_Vol
                          alexa2.0	2021-04-04 21:47:18.729	error	(623) Datatype for Echo-Devices.G091830894940E7U.Commands.speak differs from expected, ignore state change! Please write correct datatype (string)
                          javascript.0	2021-04-04 21:47:17.661	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Status_Batterien_Volt: registered 0 subscriptions and 0 schedules
                          javascript.0	2021-04-04 21:47:17.601	info	(11087) Start javascript script.js.Haussteuerung2.Benachrichtigungen.Status_Batterien_Volt
                          javascript.0	2021-04-04 21:46:49.975	info	(11087) Stop script script.js.Haussteuerung2.Benachrichtigungen.Status_Batterien_Volt
                          javascript.0	2021-04-04 21:45:59.901	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                          javascript.0	2021-04-04 21:45:59.901	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                          javascript.0	2021-04-04 21:45:59.900	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                          javascript.0	2021-04-04 21:45:59.898	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                          javascript.0	2021-04-04 21:45:59.897	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                          javascript.0	2021-04-04 21:45:59.897	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                          javascript.0	2021-04-04 21:45:59.897	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                          javascript.0	2021-04-04 21:45:59.897	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                          javascript.0	2021-04-04 21:45:59.896	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                          javascript.0	2021-04-04 21:45:59.896	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                          javascript.0	2021-04-04 21:45:59.896	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                          javascript.0	2021-04-04 21:45:59.896	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                          javascript.0	2021-04-04 21:45:59.895	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                          javascript.0	2021-04-04 21:45:59.895	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                          javascript.0	2021-04-04 21:45:59.895	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                          javascript.0	2021-04-04 21:45:59.894	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                          javascript.0	2021-04-04 21:45:59.894	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                          javascript.0	2021-04-04 21:45:59.894	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                          javascript.0	2021-04-04 21:45:59.894	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                          javascript.0	2021-04-04 21:45:59.893	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                          javascript.0	2021-04-04 21:45:59.893	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                          javascript.0	2021-04-04 21:45:59.892	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: Created Alias-Path alias.0.Batterien_Volt
                          javascript.0	2021-04-04 21:45:59.667	info	(11087) script.js.Haussteuerung2.Benachrichtigungen.Statusbericht_Alias_anlegen: registered 0 subscriptions and 0 schedules
                          
                          dslraserD Offline
                          dslraserD Offline
                          dslraser
                          Forum Testing Most Active
                          schrieb am zuletzt editiert von
                          #144

                          @idefix01
                          Admin und JS Adapter mal neu gestartet ?

                          I 1 Antwort Letzte Antwort
                          0
                          • dslraserD dslraser

                            @idefix01
                            Admin und JS Adapter mal neu gestartet ?

                            I Offline
                            I Offline
                            Idefix01
                            schrieb am zuletzt editiert von Idefix01
                            #145

                            @dslraser

                            nach Admin und JS Neustart keine Änderung, aber irgendwas habe ich noch gemacht jetzt sind plötzlich wieder Werte drin. Aber nur mit der alten Version 1.6.7 bekomme ich Werte. Mit der neuen V1.7.0 bleibt es leer

                            dslraserD 1 Antwort Letzte Antwort
                            0
                            • I Idefix01

                              @dslraser

                              nach Admin und JS Neustart keine Änderung, aber irgendwas habe ich noch gemacht jetzt sind plötzlich wieder Werte drin. Aber nur mit der alten Version 1.6.7 bekomme ich Werte. Mit der neuen V1.7.0 bleibt es leer

                              dslraserD Offline
                              dslraserD Offline
                              dslraser
                              Forum Testing Most Active
                              schrieb am zuletzt editiert von
                              #146

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

                              @dslraser

                              nach Admin und JS Neustart keine Änderung, aber irgendwas habe ich noch gemacht jetzt sind plötzlich wieder Werte drin. Aber nur mit der alten Version 1.6.7 bekomme ich Werte. Mit der neuen V1.7.0 bleibt es leer

                              Ich kann leider mit Deinen Meldungen nicht viel anfangen...
                              Um welches Blockly geht es genau ? Oder alle 1.7.0 ?

                              I 1 Antwort Letzte Antwort
                              0
                              • dslraserD dslraser

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

                                @dslraser

                                nach Admin und JS Neustart keine Änderung, aber irgendwas habe ich noch gemacht jetzt sind plötzlich wieder Werte drin. Aber nur mit der alten Version 1.6.7 bekomme ich Werte. Mit der neuen V1.7.0 bleibt es leer

                                Ich kann leider mit Deinen Meldungen nicht viel anfangen...
                                Um welches Blockly geht es genau ? Oder alle 1.7.0 ?

                                I Offline
                                I Offline
                                Idefix01
                                schrieb am zuletzt editiert von
                                #147

                                @dslraser

                                versucht habe ich momentan nur das Blockly Batterien_Volt V1.7.0.
                                Ist nur seltsam das die 1.6.7 funktioniert und die 1.7.0 leer bleibt

                                I 1 Antwort Letzte Antwort
                                0
                                • I Idefix01

                                  @dslraser

                                  versucht habe ich momentan nur das Blockly Batterien_Volt V1.7.0.
                                  Ist nur seltsam das die 1.6.7 funktioniert und die 1.7.0 leer bleibt

                                  I Offline
                                  I Offline
                                  Idefix01
                                  schrieb am zuletzt editiert von
                                  #148

                                  @dslraser

                                  Guten Morgen, hast du eine Idee woran es liegen könnte?

                                  dslraserD 2 Antworten Letzte Antwort
                                  0
                                  • I Idefix01

                                    @dslraser

                                    Guten Morgen, hast du eine Idee woran es liegen könnte?

                                    dslraserD Offline
                                    dslraserD Offline
                                    dslraser
                                    Forum Testing Most Active
                                    schrieb am zuletzt editiert von dslraser
                                    #149

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

                                    @dslraser

                                    Guten Morgen, hast du eine Idee woran es liegen könnte?

                                    Ich habe noch nicht tiefer nachgesehen, weil es bei mir auch funktioniert. Ich schaue aber heute mal nach.

                                    Edit: welche Javascript-Adapter Version nutzt Du ?

                                    1 Antwort Letzte Antwort
                                    0
                                    • I Idefix01

                                      @dslraser

                                      Guten Morgen, hast du eine Idee woran es liegen könnte?

                                      dslraserD Offline
                                      dslraserD Offline
                                      dslraser
                                      Forum Testing Most Active
                                      schrieb am zuletzt editiert von dslraser
                                      #150

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

                                      @dslraser

                                      Guten Morgen, hast du eine Idee woran es liegen könnte?

                                      Bei mir läuft das Blockly.
                                      Zu Deiner Fehlermeldung die Du oben gezeigt hast. Ich glaube das Log ist abgeschnitten, das müsstest Du mal runter laden. Das Einzige was ich zu dieser Fehlermeldung finden konnte ist, das solche Meldungen kommen, wenn der debug Modus im Blockly aktiv ist.

                                      ganz rechts oben der Schraubenschlüssel

                                      Bildschirmfoto 2021-04-10 um 08.55.44.png

                                      also da

                                      Bildschirmfoto 2021-04-10 um 08.55.53.png

                                      Dann kommt bei mir im Log

                                      2021-04-10 08:55:42.643 - warn: javascript.0 (7053) script.js.99_Test.Idefix01-Bat-Volt: setForeignState(id=javascript.0.Geraete_zaehlen.Batterien_Volt.Haus.02_Trigger_und_Schalter.07_Umschalter_Farbe_Batterien_Volt_Liste, state={"val":0,"ack":true,"c":"script.js.99_Test.Idefix01-Bat-Volt"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
                                      

                                      Edit: und wie sehen diese Einstellungen bei Dir aus ?

                                      Bildschirmfoto 2021-04-10 um 09.07.10.png

                                      1 Antwort Letzte Antwort
                                      0
                                      • dslraserD dslraser


                                        https://github.com/sbormann/ioBroker.alias-manager


                                        Im Beispielvideo werden die eigenen Alias ab Zeile 271 eingefügt, also ab dem ersten createAlias. In der Vorlage habe ich jeweils zwei meiner verwendeten Geräte als Beispiel eingefügt.
                                        Video Beispiel:
                                        alias_per_script_erstellen.m4v

                                        /**************************************************************
                                        Github - https://github.com/xCruziX/ioBroker-Creating-Alias/blob/master/CreateAlias.js
                                          			Changelog
                                        Version 1.1.4
                                        - fix error by using bCreateAliasPath and bConvertExistingPath (has no target 9/Error creating alias-path)
                                        **************************************************************/
                                        
                                        /**************************************
                                          	Flags /
                                          	Variablen
                                        ***************************************/
                                        
                                        // typeAlias = 'boolean'; // oder 'number'
                                        // read = "val == 'Ein' ? true : false"; // Erkennung "Aus" --> false erfolgt automatisch  
                                        // write = "val ? 'Ein' : 'Aus'";
                                        // nameAlias = 'Licht Haustür';
                                        // role = 'switch';
                                        // desc = 'per Script erstellt';
                                        // min = 0; // nur Zahlen
                                        // max = 100; // nur Zahlen
                                        // unit = '%'; // nur für Zahlen
                                        // states = {0: 'Aus', 1: 'Auto', 2: 'Ein'}; // Zahlen (Multistate) oder Logikwert (z.B. Aus/Ein)
                                        
                                        
                                        let bCreateAliasPath = true;  // If this flag is true, each folder is created seperately so rooms and functions can be assigned.
                                        
                                        /*
                                        Requirements: bCreateAliasPath == true
                                        If this flag is true, existing folders in the path will be converted so rooms and functions can be assigned.
                                        */
                                        let bConvertExistingPath = false;
                                        
                                        /***************************************
                                          	Don't change anything from here /
                                          	Ab hier nichts verändern
                                        ***************************************/
                                        
                                        let arEnum = [];
                                        let arId = [];
                                        let timeoutAssignEnum;
                                        var callbackAlias = undefined;
                                        function createAlias(idSrc, idDst,raum, gewerk,typeAlias, read, write, nameAlias, role, desc, min, max, unit, states) {
                                        if(!idDst.includes('alias.0.'))
                                            idDst = 'alias.0.' + idDst;
                                        if(!existsObject(idSrc))
                                        {
                                            log('Source-Id ' + idSrc +' does not exists.','warn');
                                            return;
                                        }
                                        
                                        // Create the object Path for alias id, 
                                        // so you can assign rooms and function to the parents
                                        var createAliasPath = (id) => {
                                             if(bCreateAliasPath){
                                                  let lisMergedIds = [];
                                                  let mergedId = 'alias.0';
                                                  id = id.replace(mergedId + '.', ''); // Remove prefix alias so it will not be changed
                                                  let split = id.split('.'); 
                                                  for(let i=0;i<split.length-1;i++){
                                                      mergedId += '.' + split[i];
                                                      lisMergedIds.push(mergedId);
                                                  }
                                                  
                                                  function path(){
                                                      if(lisMergedIds.length == 0) {
                                                          alias();
                                                          return;
                                                      }
                                                      let tmpId = lisMergedIds[0];
                                                      lisMergedIds.splice(0,1); // remove element
                                                      if(!existsObject(tmpId) || bConvertExistingPath){ // not exists
                                                          let obj;
                                                          if(existsObject(tmpId))
                                                              obj = getObject(tmpId);
                                                          else
                                                              obj = {};
                                        
                                                          let bApply = false;
                                                          if(obj != undefined){
                                                              if(obj.type == undefined || String(obj.type) != 'meta'){
                                                                  obj.type = 'meta';
                                                                  bApply = true;
                                                              }
                                                              if(obj.common == undefined){
                                                                  obj.common = {};
                                                                  obj.common.type = 'meta.folder';
                                                                  bApply = true;
                                                              }
                                                              else if(obj.common.type == undefined || String(obj.common.type) != 'meta.folder'){
                                                                  obj.common.type = 'meta.folder';
                                                                  bApply = true;
                                                              }
                                                              if(obj.native == undefined){
                                                                  obj.native = {};
                                                                  bApply = true;
                                                              }
                                                          }
                                                          else{
                                                              path();
                                                              log('Object is undefined');
                                                              return;
                                                          }
                                                          
                                        
                                                          if(bApply){
                                                              setObject(tmpId, obj, (err) =>{
                                                              if(!err){
                                                                  log('Created Alias-Path ' + tmpId);
                                                                  path();
                                                              }
                                                              else
                                                                  log('Error creating alias-path','error');
                                                          });
                                                          }
                                                          else
                                                              path();
                                                          
                                                      }
                                                  }
                                                  path();
                                             }
                                             else
                                               alias();
                                        }
                                        
                                        
                                        function alias(){
                                            // Create alias object
                                            
                                              if(!existsObject(idDst)){
                                                  let obj = {};
                                                  obj.type = 'state';
                                                  obj.common = getObject(idSrc).common;
                                                  obj.common.alias = {};
                                                  obj.common.alias.id = idSrc;
                                                  if(typeAlias !== undefined) 
                                                      obj.common.type = typeAlias;
                                                  if(obj.common.read !== undefined) 
                                                      obj.common.alias.read = read;
                                                  if(obj.common.write !== undefined) 
                                                      obj.common.alias.write = write;
                                                  if(nameAlias !== undefined) 
                                                      obj.common.name = nameAlias;
                                                  if(role !== undefined) 
                                                      obj.common.role = role;
                                                  if(desc !== undefined) 
                                                      obj.common.desc = desc;
                                                  if(min !== undefined) 
                                                      obj.common.min = min;
                                                  if(max !== undefined) 
                                                      obj.common.max = max;
                                                  if(unit !== undefined) 
                                                      obj.common.unit = unit;
                                                  if(states !== undefined) 
                                                      obj.common.states = states;
                                        
                                                  obj.native = {};
                                                  obj.common.custom = {}; // Damit die Zuordnung zu iQontrol, Sql etc. nicht übernommen wird
                                                  log('Created Alias-State ' + idDst);
                                                  setObject(idDst, obj,(err) =>{ 
                                                      if(!err)
                                                          startAttach(); 
                                                      else
                                                          log('Error creating-alias','error');
                                                  });
                                              }
                                              else
                                                  startAttach();
                                        }
                                        
                                        
                                        // Save ID and Enum (room or function)
                                        var attach = (id, enu,value) => {
                                            if(id.length == 0){
                                                log('ID has lenght 0, can not attach to enum','warn');
                                                return;
                                            }
                                            if(value.length == 0){
                                                log('Value has lenght 0','warn');
                                                return;
                                            }
                                          
                                            let sEnuId = 'enum.' + enu + '.' + value;
                                            if(enu.length > 0 && existsObject(sEnuId)) 
                                            {
                                                let obj = getObject(sEnuId)
                                                let members = obj.common.members;
                                                if(!members.includes(id)){
                                                    arEnum.push(sEnuId);
                                                    arId.push(id);
                                                }
                                            }
                                            else
                                         	      log('Can not find enum ' + sEnuId,'warn');
                                        }
                                        
                                        function startAttach(){
                                          let bRoom = raum !== undefined && raum.length > 0;
                                          let bGewerk = gewerk !== undefined && gewerk.length > 0;
                                          
                                          if(bRoom)
                                              attach(idDst,'rooms',raum);
                                          if(bGewerk)
                                              attach(idDst,'functions',gewerk);
                                          if(bRoom || bGewerk){
                                                  if(timeoutAssignEnum){
                                                      clearTimeout(timeoutAssignEnum);
                                                      timeoutAssignEnum = null;
                                                  }
                                                  timeoutAssignEnum = setTimeout(finishScript,100);
                                          }
                                        }
                                        
                                        createAliasPath(idDst);
                                        }
                                        
                                        function finishScript(){
                                          assignEnums();
                                        }
                                        
                                        // Add the saved IDs to the rooms/functions
                                        function assignEnums(){
                                        if(arEnum.length == 0 || arId.length == 0){
                                            return;
                                        }
                                        
                                        if(arEnum.length != arId.length){
                                            log('Arrays have different size','error');
                                            return;
                                        }
                                        let mapEnumId = new Map();
                                        
                                        for(let i=0;i < arEnum.length; i++){
                                           let enu = arEnum[i];
                                           let id = arId[i];
                                           if(existsObject(id)){
                                          	 let obj = getObject(enu)
                                          	 let members;
                                          	 if(!mapEnumId.has(enu)){
                                          		 members = obj.common.members;
                                          		 mapEnumId.set(enu,members);
                                          	 }
                                          	 else
                                          		 members = mapEnumId.get(enu);    
                                          	 if(!members.includes(id)){
                                          		  log("Adding " + id + " to " + enu);
                                          		  members.push(id);
                                          	 }	      
                                           }
                                           else
                                               log('Can not find Alias ' + id,'error');
                                        }
                                        
                                        function setMembers(members,enu,map){
                                            let obj = getObject(enu);
                                            obj.common.members = members;
                                            setObject(enu,obj);
                                        }
                                        mapEnumId.forEach(setMembers);
                                        }
                                        
                                        /**********************************************************
                                          	END /
                                          	ENDE
                                        **********************************************************/
                                        
                                        //////////////////////////////
                                        //  Fenster
                                        //////////////////////////////
                                        //2 x Fenstersensoren HMIP
                                        //einfache HMIP Fenstersensoren über rpc-Adapter in function fenster_alias
                                        //{0: 'geschlossen', 1: 'geöffnet'}
                                        createAlias('hm-rpc.0.xxx.1.STATE'/*Wohnzimmer Fenster links STATE*/, 'Fenster.Wohnzimmer_Fenster_links', undefined, 'fenster_alias', 'number', undefined, undefined, 'Wohnzimmer links', 'window.value', 'per Script erstellt', 0, 1, '',{0: 'geschlossen', 1: 'geöffnet'})
                                        createAlias('hm-rpc.0.xxx.1.STATE'/*Küche Fenster links STATE*/, 'Fenster.Kueche_Fenster_links', undefined, 'fenster_alias', 'number',undefined, undefined, 'Küche links', 'window.value', 'per Script erstellt', 0, 1, '',{0: 'geschlossen', 1: 'geöffnet'})
                                        
                                        //2 x Fenstersensoren HM
                                        //einfache HM Fenstersensoren über rpc-Adapter in function fenster_alias
                                        //{false: 'geschlossen', true: 'geöffnet'}
                                        createAlias('hm-rpc.0.xxx.1.STATE'/*Wohnzimmer Fenster links STATE*/, 'Fenster.Wohnzimmer_Fenster_links', undefined, 'fenster_alias', 'boolean', undefined, undefined, 'Wohnzimmer links', 'window.value', 'per Script erstellt', undefined, undefined, undefined, {false: 'geschlossen', true: 'geöffnet'})
                                        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'})
                                        
                                        
                                        //2 x Fensterdrehgriffe HMIP
                                        //HMIP Fensterdrehgriffe über rpc-Adapter in function fenster_alias
                                        //{0: 'geschlossen', 1: 'gekippt', 2: 'geöffnet'}
                                        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'})
                                        createAlias('hm-rpc.0.xxx.1.STATE'/*Keller Wohnzimmer Fenster mitte STATE*/, 'Fenster.Keller_Wohnzimmer_Fenster_mitte', undefined, 'fenster_alias', 'number',undefined, undefined, 'Keller Wohnzimmer mitte', 'window.value', 'per Script erstellt', 0, 2, '',{0: 'geschlossen', 1: 'gekippt', 2: 'geöffnet'})
                                        
                                        //2 x Fenster(Türen) Sensoren HMIP
                                        //einfache HMIP Fenstersensoren über rpc-Adapter in function tueren_alias
                                        //{0: 'geschlossen', 1: 'geöffnet'}
                                        createAlias('hm-rpc.0.xxx.1.STATE'/*Wohnzimmer Terrassentür STATE*/, 'Tueren.Terrassentuer', undefined, 'tueren_alias', 'number',undefined, undefined, 'Terrassentür', 'window.value', 'per Script erstellt', 0, 1, '',{0: 'geschlossen', 1: 'geöffnet'})
                                        createAlias('hm-rpc.0.xxx.1.STATE'/*Haustür STATE*/, 'Tueren.Haustuer', undefined, 'tueren_alias', 'number',undefined, undefined, 'Haustür', 'window.value', 'per Script erstellt', 0, 1, '',{0: 'geschlossen', 1: 'geöffnet'})
                                        
                                        //////////////////////////////
                                        //  Steckdosen
                                        //////////////////////////////
                                        //2 x Steckdosen
                                        //HMIP Steckdosen über rpc-Adapter in function steckdosen_alias
                                        //{false: 'aus', true: 'an'}
                                        createAlias('hm-rpc.0.xxx.3.STATE'/*Waschmaschine STATE*/, 'Steckdosen.Waschmaschine', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Waschmaschine', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
                                        createAlias('hm-rpc.0.xxx.3.STATE'/*Geschirrspueler STATE*/, 'Steckdosen.Geschirrspueler', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Geschirrspüler', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
                                        
                                        //////////////////////////////
                                        //  Bewegungsmelder
                                        //////////////////////////////
                                        //2 x Bewegungsmelder und 2 x Präsenzmelder und 1 x Erschütterungssensor
                                        //HMIP Bewegungsmelder und Präsenzmelder über rpc-Adapter in function bewegungsmelder_alias
                                        //{false: 'inaktiv', true: 'aktiv'}
                                        createAlias('hm-rpc.0.xxx.1.MOTION'/*Bewegungsmelder Weihnachtsbaumkeller MOTION*/, 'Bewegungsmelder.Bewegungsmelder_Weihnachtsbaumkeller', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'W Baum Keller', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'})
                                        createAlias('hm-rpc.0.xxx.1.MOTION'/*Bewegungsmelder Heizungskeller MOTION*/, 'Bewegungsmelder.Bewegungsmelder_Heizungskeller', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'Heizungskeller', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'})
                                        //ab hier 2 x Präsenzmelder
                                        createAlias('hm-rpc.0.xxx.1.PRESENCE_DETECTION_STATE'/*Präsenzmelder Badezimmer PRESENCE DETECTION STATE*/, 'Bewegungsmelder.Praesenzmelder_Badezimmer', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'Badezimmer', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'})
                                        createAlias('hm-rpc.0.xxx.1.PRESENCE_DETECTION_STATE'/*Präsenzmelder Dusche PRESENCE DETECTION STATE*/, 'Bewegungsmelder.Praesenzmelder_Dusche', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'Dusche', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'})
                                        //ab hier 1 x Erschütterungssensor
                                        createAlias('hm-rpc.0.xxx.1.MOTION'/*Briefkasten MOTION*/, 'Bewegungsmelder.Praesenzmelder_Briefkasten', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'Briefkasten', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'})
                                        
                                        //////////////////////////////
                                        //  Licht
                                        //////////////////////////////
                                        //2 x HUE und 5 x HMIP Licht über HUE und rpc-Adapter in function licht_alias
                                        //{false: 'aus', true: 'an'}
                                        createAlias('hue.0.Badezimmerlampe_links.on'/*Badezimmerlampe links on*/, 'Licht.Badezimmer_Licht_links', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Badezimmer links', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
                                        createAlias('hue.0.Badezimmerlampe_rechts.on'/*Badezimmerlampe rechts on*/, 'Licht.Badezimmer_Licht_rechts', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Badezimmer rechts', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
                                        
                                        //ab hier 2 x Licht HMIP Steckdosen über rpc Adapter
                                        createAlias('hm-rpc.0.xxx.3.STATE'/*Kugellampe STATE*/, 'Licht.Wohnzimmer_Kugel_Licht', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Kugellicht', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
                                        createAlias('hm-rpc.0.xxx.3.STATE'/*Gäste WC Licht STATE*/, 'Licht.Gaeste_WC_Licht', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Gäste WC Licht', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})
                                        
                                        //////////////////////////////
                                        //  Temperaturen
                                        //////////////////////////////
                                        //HMIP 2 x Temperaturen über rpc-Adapter in function temperaturen_alias
                                        createAlias('hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE'/*Wandthermostat Schlafzimmer:1 ACTUAL TEMPERATURE*/, 'Temperaturen.Temperatur_Schlafzimmer', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Schlafzimmer', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined)
                                        createAlias('hm-rpc.0.xxx.1.ACTUAL_TEMPERATURE'/*Wandthermostat Wohnzimmer:1 ACTUAL TEMPERATURE*/, 'Temperaturen.Temperatur_Wohnzimmer', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Wohnzimmer', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined)
                                        
                                        //////////////////////////////
                                        //  Batterien_voll_leer
                                        //////////////////////////////
                                        //2 x Batterien voll-leer über boolean Wert false/true in function batterien_voll_leer_alias
                                        createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Wohnzimmer Fenster links:0 LOW BAT*/, 'Batterien_voll_leer.Wohnzimmer_Fenster_links', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Wohnzimmer Fenster links', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
                                        createAlias('hm-rpc.0.xxx.0.LOW_BAT'/*Küche Fenster links:0 LOW BAT*/, 'Batterien_voll_leer.Kueche_Fenster_links', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Küche Fenster links', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'})
                                        
                                        //////////////////////////////
                                        //  Batterien_Volt
                                        //////////////////////////////
                                        //2 x Batterien Volt Anzeige in function batterien_volt_alias
                                        createAlias('hm-rpc.0.xxx.0.OPERATING_VOLTAGE'/*Wohnzimmer Fenster links:0 OPERATING VOLTAGE*/, 'Batterien_Volt.Wohnzimmer_Fenster_links', undefined, 'batterien_volt_alias', 'number', undefined, undefined, 'Wohnzimmer Fenster links', 'value.voltage', 'per Script erstellt', undefined, undefined, 'Volt', undefined)
                                        createAlias('hm-rpc.0.xxx.0.OPERATING_VOLTAGE'/*Küche Fenster links:0 OPERATING VOLTAGE*/, 'Batterien_Volt.Kueche_Fenster_links', undefined, 'batterien_volt_alias', 'number', undefined, undefined, 'Küche Fenster links', 'value.voltage', 'per Script erstellt', undefined, undefined, 'Volt', undefined)
                                        
                                        
                                        



                                        Bitte das Blockly auf den eigenen Rechner downloaden und dort mit einem "richtigen" Editor öffnen und den gesamten Inhalt der Textdatei in die Zwischenablage kopieren und anschließend in ein neues leeres Blockly importieren. Nicht direkt im Browser öffnen und kopieren, dann kommt es oft zu Umlaute Fehlern im Blockly.

                                        Fenster_1_8_1.zip

                                        Tueren_1_8_1.zip

                                        Licht_1_8_1.zip

                                        Temperaturen_1_8_1.zip

                                        Bewegungsmelder_1_8_1.zip

                                        Luftfeuchtigkeit_1_8_1.zip

                                        Steckdosen_1_8_1.zip

                                        Batterien_Prozent_1_8_1.zip

                                        Batterien_voll_leer_lowbat_1_8_1.zip

                                        Batterien_Volt_1_8_1.zip

                                        RSSI_1_8_1.zip

                                        Mein iQontrol View für alle Geräte

                                        2021-04-28_iqontrol_0_selected_views.json.zip

                                        Screenshot_20210428-091122_Chrome.jpg

                                        Zusatzblockly zur Anruferansage, Beschreibung folgt. Ursprung ist von hier


                                        Bitte das Blockly auf den eigenen Rechner downloaden und dort mit einem "richtigen" Editor öffnen und den gesamten Inhalt der Textdatei in die Zwischenablage kopieren und anschließend in ein neues leeres Blockly importieren. Nicht direkt im Browser öffnen und kopieren, dann kommt es oft zu Umlaute Fehlern im Blockly.

                                        Bildschirmfoto 2021-04-28 um 19.40.31.png

                                        Zwei ECHOS können zur Ansage ausgewählt werden. Wer nur einen ECHO braucht, einfach entsprechend deaktivieren.

                                        Bildschirmfoto 2021-04-28 um 19.50.51.png

                                        Bildschirmfoto 2021-04-29 um 21.56.13.png

                                        meine iQontrol Anwendung dafür

                                        Bildschirmfoto 2021-04-28 um 20.05.11.png

                                        Alexa_Anruferansage_Telegram_EMAIL_1.0.0.zip

                                        L Offline
                                        L Offline
                                        lolax
                                        schrieb am zuletzt editiert von
                                        #151

                                        @dslraser

                                        Hi,

                                        könntest Du bitte die Anzeige auf LaMetric direct wieder integrieren?

                                        dslraserD 1 Antwort Letzte Antwort
                                        0
                                        • L lolax

                                          @dslraser

                                          Hi,

                                          könntest Du bitte die Anzeige auf LaMetric direct wieder integrieren?

                                          dslraserD Offline
                                          dslraserD Offline
                                          dslraser
                                          Forum Testing Most Active
                                          schrieb am zuletzt editiert von
                                          #152

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

                                          @dslraser

                                          Hi,

                                          könntest Du bitte die Anzeige auf LaMetric direct wieder integrieren?

                                          Ähm, ich weiß nicht was Du meinst ? Ich weiß nicht mal was LaMetric ist ?

                                          L 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          731

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe