Skip to content
  • 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
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Fenster und andere Geräte zählen opt. Alexa Ansagen

NEWS

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

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

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

Fenster und andere Geräte zählen opt. Alexa Ansagen

Geplant Angeheftet Gesperrt Verschoben Blockly
blocklyjavascript
1.2k Beiträge 41 Kommentatoren 412.4k Aufrufe 71 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.
  • F FuXXz2

    Ok, habe es und es klappt. Danke

    Kannst du dir das hier erklären?
    https://vimeo.com/490351350/a5a6721a33
    Das Script dreht völlig am Rad seitdem meine Tochter mit nem Schalter gespielt und den DutyCycle erreicht hat 🙂

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

    @FuXXz2
    ich kann am Handy nicht erkennen was das für Meldungen sind. Kannst Du mal einen Auszug in Code Tags davon posten.(am Besten in einem Spoiler)

    1 Antwort Letzte Antwort
    0
    • F FuXXz2

      Ok, habe es und es klappt. Danke

      Kannst du dir das hier erklären?
      https://vimeo.com/490351350/a5a6721a33
      Das Script dreht völlig am Rad seitdem meine Tochter mit nem Schalter gespielt und den DutyCycle erreicht hat 🙂

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

      @FuXXz2 sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

      Das Script dreht völlig am Rad

      ich habe noch einen Fehler gefunden...(wird korrigiert)

      F 1 Antwort Letzte Antwort
      0
      • dslraserD dslraser

        @FuXXz2 sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

        Das Script dreht völlig am Rad

        ich habe noch einen Fehler gefunden...(wird korrigiert)

        F Offline
        F Offline
        FuXXz2
        schrieb am zuletzt editiert von
        #1092

        @dslraser Habe jetzt leider nur noch das Bild hier
        Screenshot 2020-12-13 104102.jpg

        dslraserD 1 Antwort Letzte Antwort
        0
        • F FuXXz2

          @dslraser Habe jetzt leider nur noch das Bild hier
          Screenshot 2020-12-13 104102.jpg

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

          @FuXXz2
          ich habe noch was anderes behoben...
          (wenn die eigenen html Einstellungen leer waren und befüllt wurden hagelte es auch Fehler)

          Aber in Deinem Bild wird ja anscheinend ein alias nicht gefunden. (Wohnzimmer_TV)

          F 1 Antwort Letzte Antwort
          0
          • dslraserD dslraser

            @FuXXz2
            ich habe noch was anderes behoben...
            (wenn die eigenen html Einstellungen leer waren und befüllt wurden hagelte es auch Fehler)

            Aber in Deinem Bild wird ja anscheinend ein alias nicht gefunden. (Wohnzimmer_TV)

            F Offline
            F Offline
            FuXXz2
            schrieb am zuletzt editiert von
            #1094

            @dslraser Der ist jedoch da, schaltbar und der alias aktualisiert auch 😞

            Es ging aber auch mehr darum, dass der Javascript Adapter bzw. das Script vielleicht nicht das Log mit 100.000 Einträgen die Sekunde voll hauen sollte, sondern dass der Fehler irgendwie abgefangen wird.

            Ich weiß gerade nicht was so ein ioBroker bei so einer Masse von Log Einträgen macht, wahrscheinlich schmiert der dann irgendwann ab?

            dslraserD 1 Antwort Letzte Antwort
            0
            • F FuXXz2

              @dslraser Der ist jedoch da, schaltbar und der alias aktualisiert auch 😞

              Es ging aber auch mehr darum, dass der Javascript Adapter bzw. das Script vielleicht nicht das Log mit 100.000 Einträgen die Sekunde voll hauen sollte, sondern dass der Fehler irgendwie abgefangen wird.

              Ich weiß gerade nicht was so ein ioBroker bei so einer Masse von Log Einträgen macht, wahrscheinlich schmiert der dann irgendwann ab?

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

              @FuXXz2 sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

              Es ging aber auch mehr darum, dass der Javascript Adapter bzw. das Script vielleicht nicht das Log mit 100.000 Einträgen die Sekunde voll hauen sollte, sondern dass der Fehler irgendwie abgefangen wird.

              das Blockly (in der Version 1.5) schreibt nur eine Meldung ins Log. (welcher ECHO die Ansage ausgeführt hat)

              In der 1.6 wird es Logmeldungen geben, wenn die eigenen html Einstellungen leer sind und aufgerufen werden sollen. (Log Meldung+setzen eines Standard Wertes, damit der Datenpunkt nicht leer bleibt, was wiederum eine andere Fehlermeldung provozieren würde)

              M D 2 Antworten Letzte Antwort
              0
              • dslraserD dslraser

                @FuXXz2 sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

                Es ging aber auch mehr darum, dass der Javascript Adapter bzw. das Script vielleicht nicht das Log mit 100.000 Einträgen die Sekunde voll hauen sollte, sondern dass der Fehler irgendwie abgefangen wird.

                das Blockly (in der Version 1.5) schreibt nur eine Meldung ins Log. (welcher ECHO die Ansage ausgeführt hat)

                In der 1.6 wird es Logmeldungen geben, wenn die eigenen html Einstellungen leer sind und aufgerufen werden sollen. (Log Meldung+setzen eines Standard Wertes, damit der Datenpunkt nicht leer bleibt, was wiederum eine andere Fehlermeldung provozieren würde)

                M Offline
                M Offline
                MartyBr
                schrieb am zuletzt editiert von
                #1096

                @dslraser Ich nutze deine Skipte mit Begeisterung. Gut, dass sie jetzt in kleinere Häppchen aufgeteilt wurden 👍 . Sie ware in der Gesamtversion ja kaum noch zu bearbeiten.
                Ich Frage dazu: Gibt es auch das Fenster-Skript als eigenes Blocky?

                Gruß
                Martin


                Intel NUCs mit Proxmox / Iobroker als VM unter Debian
                Raspeberry mit USB Leseköpfen für Smartmeter
                Homematic und Homematic IP

                dslraserD 1 Antwort Letzte Antwort
                1
                • dslraserD dslraser

                  @FuXXz2 sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

                  Es ging aber auch mehr darum, dass der Javascript Adapter bzw. das Script vielleicht nicht das Log mit 100.000 Einträgen die Sekunde voll hauen sollte, sondern dass der Fehler irgendwie abgefangen wird.

                  das Blockly (in der Version 1.5) schreibt nur eine Meldung ins Log. (welcher ECHO die Ansage ausgeführt hat)

                  In der 1.6 wird es Logmeldungen geben, wenn die eigenen html Einstellungen leer sind und aufgerufen werden sollen. (Log Meldung+setzen eines Standard Wertes, damit der Datenpunkt nicht leer bleibt, was wiederum eine andere Fehlermeldung provozieren würde)

                  D Offline
                  D Offline
                  DocGame
                  schrieb am zuletzt editiert von
                  #1097

                  @dslraser Ich finde auch sie einzelnen Blocklys wesentlich übersichtlicher und geschmeidiger zu bedienen wie die "große" Lösung. Wie schon mein Vorredner hoffe ich auch noch auf eine Fenster/Türen Anpassung, da das für mich in der alten Übersicht das interessanteste war.
                  Eine Frage hätte ich noch. Ist beim Batteriescript die Coltanzeige wirklich so gefragt? Ich habe hauptsächlich Zigbee, Mihome und Hue Adapter-Geräte. Da werden bei allen die wesentlich übersichtlichen Prozentwerte geliefert. Grösstenteils fehlen auch Voltangaben. Ich fände eine Umsetzung mit %-Werten wesentlich übersichtlicher (Eventuell mit angabe von Schwellenwert im Blockly für Warnmeldungen bzw. rote Schrift usw.) Ware dies nicht umzusetzen?

                  dslraserD 1 Antwort Letzte Antwort
                  1
                  • M MartyBr

                    @dslraser Ich nutze deine Skipte mit Begeisterung. Gut, dass sie jetzt in kleinere Häppchen aufgeteilt wurden 👍 . Sie ware in der Gesamtversion ja kaum noch zu bearbeiten.
                    Ich Frage dazu: Gibt es auch das Fenster-Skript als eigenes Blocky?

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

                    @MartyBr sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

                    Gibt es auch das Fenster-Skript als eigenes Blocky?

                    ja, kommt bzw. habe es schon fertig, teste aber selbst noch etwas.

                    sigi234S 1 Antwort Letzte Antwort
                    0
                    • dslraserD dslraser

                      @MartyBr sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

                      Gibt es auch das Fenster-Skript als eigenes Blocky?

                      ja, kommt bzw. habe es schon fertig, teste aber selbst noch etwas.

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

                      @dslraser sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

                      @MartyBr sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

                      Gibt es auch das Fenster-Skript als eigenes Blocky?

                      ja, kommt bzw. habe es schon fertig, teste aber selbst noch etwas.

                      Sind das dann Fenster und Türen, oder extra?

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

                      dslraserD 1 Antwort Letzte Antwort
                      0
                      • D DocGame

                        @dslraser Ich finde auch sie einzelnen Blocklys wesentlich übersichtlicher und geschmeidiger zu bedienen wie die "große" Lösung. Wie schon mein Vorredner hoffe ich auch noch auf eine Fenster/Türen Anpassung, da das für mich in der alten Übersicht das interessanteste war.
                        Eine Frage hätte ich noch. Ist beim Batteriescript die Coltanzeige wirklich so gefragt? Ich habe hauptsächlich Zigbee, Mihome und Hue Adapter-Geräte. Da werden bei allen die wesentlich übersichtlichen Prozentwerte geliefert. Grösstenteils fehlen auch Voltangaben. Ich fände eine Umsetzung mit %-Werten wesentlich übersichtlicher (Eventuell mit angabe von Schwellenwert im Blockly für Warnmeldungen bzw. rote Schrift usw.) Ware dies nicht umzusetzen?

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

                        @DocGame sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

                        Grösstenteils fehlen auch Voltangaben

                        Ich habe nur solche mit Volt Angaben oder true/false.

                        Ich fände eine Umsetzung mit %-Werten wesentlich übersichtlicher (Eventuell mit angabe von Schwellenwert im Blockly für Warnmeldungen bzw. rote Schrift usw.) Ware dies nicht umzusetzen?

                        bestimmt, aber ich habe kein solches Gerät. Wenn ich alles andere aktualisiert habe, dann kann ich mir ja mal ein virtuelles Gerät als RAW anlegen und testen.

                        1 Antwort Letzte Antwort
                        0
                        • sigi234S sigi234

                          @dslraser sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

                          @MartyBr sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

                          Gibt es auch das Fenster-Skript als eigenes Blocky?

                          ja, kommt bzw. habe es schon fertig, teste aber selbst noch etwas.

                          Sind das dann Fenster und Türen, oder extra?

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

                          @sigi234 sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

                          @dslraser sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

                          @MartyBr sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

                          Gibt es auch das Fenster-Skript als eigenes Blocky?

                          ja, kommt bzw. habe es schon fertig, teste aber selbst noch etwas.

                          Sind das dann Fenster und Türen, oder extra?

                          ich habe es extra

                          1 Antwort Letzte Antwort
                          0
                          • dslraserD Offline
                            dslraserD Offline
                            dslraser
                            Forum Testing Most Active
                            schrieb am zuletzt editiert von dslraser
                            #1102

                            Temperaturen / Batterien_Volt / Steckdosen und Lichter habe ich in Version 1.6 eingefügt
                            (Fehlerkorrekturen)

                            Edit:
                            iQontrol View Export mit eingefügt

                            https://forum.iobroker.net/post/530382

                            M 1 Antwort Letzte Antwort
                            0
                            • dslraserD dslraser

                              Temperaturen / Batterien_Volt / Steckdosen und Lichter habe ich in Version 1.6 eingefügt
                              (Fehlerkorrekturen)

                              Edit:
                              iQontrol View Export mit eingefügt

                              https://forum.iobroker.net/post/530382

                              M Offline
                              M Offline
                              MartyBr
                              schrieb am zuletzt editiert von
                              #1103

                              @dslraser Läuft bisher fehlerfrei. 👍

                              Gruß
                              Martin


                              Intel NUCs mit Proxmox / Iobroker als VM unter Debian
                              Raspeberry mit USB Leseköpfen für Smartmeter
                              Homematic und Homematic IP

                              1 Antwort Letzte Antwort
                              1
                              • dslraserD Offline
                                dslraserD Offline
                                dslraser
                                Forum Testing Most Active
                                schrieb am zuletzt editiert von
                                #1104

                                Versionen 1.6.1 hochgeladen (Fenster und Türen noch nicht fertig)

                                https://forum.iobroker.net/post/530382

                                1 Antwort Letzte Antwort
                                0
                                • S Offline
                                  S Offline
                                  Sequal
                                  schrieb am zuletzt editiert von
                                  #1105

                                  Moin zusammen,
                                  zuerst einmal vielen Dank für die Arbeit und die viele Hilfe hier im Forum. Das macht es jemanden wir mir, der von Linux&Co. null Ahnung hat, extrem einfach mit Iobroker und allem Drumherum klar zu kommen.
                                  Ich habe gerade den Temperaturteil zum laufen bekommen und Alexa antwortet mir brav mit den Worten: "Ok, hier der Haus Temperaturenstatus......" und dann kommt noch etwas hinterher, dass ich nicht ganz identifizieren kann ("ebenerdig"?). Wo bzw. kann ich überhaupt diese Sprachausgabe beeinflussen?
                                  Entschuldigung, wenn die Frage zu doof ist, aber ich hab schon den halben Abend gebraucht, um das Alias-Script zu verstehen 😁 Aber....es läuft....

                                  Gruß
                                  Sequal

                                  dslraserD 1 Antwort Letzte Antwort
                                  0
                                  • S Sequal

                                    Moin zusammen,
                                    zuerst einmal vielen Dank für die Arbeit und die viele Hilfe hier im Forum. Das macht es jemanden wir mir, der von Linux&Co. null Ahnung hat, extrem einfach mit Iobroker und allem Drumherum klar zu kommen.
                                    Ich habe gerade den Temperaturteil zum laufen bekommen und Alexa antwortet mir brav mit den Worten: "Ok, hier der Haus Temperaturenstatus......" und dann kommt noch etwas hinterher, dass ich nicht ganz identifizieren kann ("ebenerdig"?). Wo bzw. kann ich überhaupt diese Sprachausgabe beeinflussen?
                                    Entschuldigung, wenn die Frage zu doof ist, aber ich hab schon den halben Abend gebraucht, um das Alias-Script zu verstehen 😁 Aber....es läuft....

                                    Gruß
                                    Sequal

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

                                    @Sequal sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

                                    und dann kommt noch etwas hinterher, dass ich nicht ganz identifizieren kann ("ebenerdig"?).

                                    bei mir kommt das nicht. Schau mal in den speak Datenpunkt von dem ECHO der die Ansage gemacht hat. Schau mal was da drinn steht.

                                    Bildschirmfoto 2020-12-14 um 23.14.46.png

                                    Bleistift

                                    Bildschirmfoto 2020-12-14 um 23.14.57.png

                                    S 1 Antwort Letzte Antwort
                                    0
                                    • dslraserD dslraser

                                      @FuXXz2 sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

                                      Du erwähntest doch mal, dass du an einer neuen Version arbeitest oder? Mit neuem Tabellen / Responsive Layout?
                                      Ich hätte da noch einen Vorschlag, falls das irgendwie nicht den Rahmen sprengt.
                                      Datenpunkte für ein eigenes Theme.

                                      Ich habe mal eine Version erstellt, erstmal Temperaturen / Batterien_Volt / Steckdosen / Licht / Bewegungsmelder / Batterien voll_leer und Fenster.
                                      Ich werde dann nur noch "einzelne Versionen" machen, da das Blockly sonst alle Grössen sprengt. So kann sich dann jeder das installieren was er braucht und ich kann die kleineren Blocklys besser bearbeiten. (bei der Fehlersuche ist das einfacher)
                                      Ich habe die Struktur bewußt geändert, so kann "alles alte" erstmal so bleiben und Ihr könnt die neue Version testen.
                                      Das ganze sieht dann in den Objekten so aus: (wenn alle Schalter im Blockly auf wahr stehen)

                                      Bildschirmfoto 2020-12-02 um 19.33.40.png

                                      01_Anzeigen_und_Listen

                                      Bildschirmfoto 2020-12-02 um 19.43.57.png

                                      02_Trigger_und_Schalter

                                      Bildschirmfoto 2020-12-02 um 19.44.12.png

                                      03_HTML_Daten hat zwei Unterordner

                                      Bildschirmfoto 2020-12-02 um 19.44.31.png

                                      01_HTML_Hell_Dunkel_Festeinstellung ist nicht veränderbar und sieht so aus (helle Einstellung aktiv)

                                      Bildschirmfoto 2020-12-02 um 19.45.09.png

                                      03_HTML_Eigene_Einstellung enthält die gleichen Datenpunkte und ist beim ersten Start leer und muss dann selbst befüllt werden.

                                      Und hier noch der Rest

                                      Bildschirmfoto 2020-12-02 um 19.45.42.png

                                      Die Bilder 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)
                                      Wenn iQontrol benutzt wird, dann kann ich auch gern die Einstellungen dafür nachliefern.

                                      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)
                                      20201202_200704.gif

                                      Hier ist der Blockly Export


                                      Temperaturen_1-6-1.zip


                                      Batterien_Volt_1-6-1.zip


                                      Steckdosen_1-6-1.zip


                                      Lichter_1-6-1.zip


                                      Bewegungsmelder_1-6-1.zip


                                      Batterien_voll_leer_1-6-1.zip


                                      Fenster_1-6-2.zip


                                      Tueren_1-6-2.zip

                                      Über Tester und Feedback würde ich mich freuen.

                                      meine iQontrol Einstellungen


                                      Bildschirmfoto 2020-12-03 um 08.00.37.png

                                      Bildschirmfoto 2020-12-03 um 08.00.50.png

                                      Bildschirmfoto 2020-12-03 um 08.02.31.png

                                      Bildschirmfoto 2020-12-03 um 08.03.03.png

                                      Bildschirmfoto 2020-12-03 um 08.03.44.png

                                      Bildschirmfoto 2020-12-03 um 08.04.20.png

                                      Bildschirmfoto 2020-12-03 um 08.05.09.png

                                      Bildschirmfoto 2020-12-03 um 08.06.48.png

                                      Bildschirmfoto 2020-12-03 um 08.07.24.png

                                      Bildschirmfoto 2020-12-03 um 08.08.20.png

                                      Bildschirmfoto 2020-12-03 um 08.09.00.png


                                      Hier der Export von diesem View
                                      2020-12-17_iqontrol_0_selected_views.json.zip

                                      Screenshot_20201214-075830_Chrome.jpg

                                      Mr-RobotM Offline
                                      Mr-RobotM Offline
                                      Mr-Robot
                                      schrieb am zuletzt editiert von Mr-Robot
                                      #1107

                                      @dslraser erstmal vielen lieben Dank für deine tolle Arbeit.

                                      bei mir funktioniert soweit alles, was ich bis jetzt verwende ist:

                                      • Temperaturen_1-6-1
                                      • Batterien_Volt_1-6-1
                                      • Lichter_1-6-1
                                      • Batterien_voll_leer_1-6-1

                                      Zusätzlich aus dem Zip: 1606060960787-forum-version-1-0.txt (30.11.2020 runtergeladen)

                                      • Fenster
                                      • Türen

                                      Hierzu habe ich noch eine Frage.
                                      Wirst du in nächster Zeit die Funktionen Türen und Fenster auch als einzelne Version hier reinstellen?
                                      Wenn ja wäre das mega, die Ver. 1.0 ist ja wirklich eine Eierlegende Wollmilchsau, das hat den Nachtweil, das es ewig braucht bis das Skript offen ist.
                                      Vermutzlich braucht man einfach etwas Geduld. 😊

                                      Edit: gerade in deinem Post gelesen.
                                      Versionen 1.6.1 hochgeladen (Fenster und Türen noch nicht fertig)

                                      iQcontrol noch nicht getestet.

                                      sigi234S dslraserD 2 Antworten Letzte Antwort
                                      0
                                      • Mr-RobotM Mr-Robot

                                        @dslraser erstmal vielen lieben Dank für deine tolle Arbeit.

                                        bei mir funktioniert soweit alles, was ich bis jetzt verwende ist:

                                        • Temperaturen_1-6-1
                                        • Batterien_Volt_1-6-1
                                        • Lichter_1-6-1
                                        • Batterien_voll_leer_1-6-1

                                        Zusätzlich aus dem Zip: 1606060960787-forum-version-1-0.txt (30.11.2020 runtergeladen)

                                        • Fenster
                                        • Türen

                                        Hierzu habe ich noch eine Frage.
                                        Wirst du in nächster Zeit die Funktionen Türen und Fenster auch als einzelne Version hier reinstellen?
                                        Wenn ja wäre das mega, die Ver. 1.0 ist ja wirklich eine Eierlegende Wollmilchsau, das hat den Nachtweil, das es ewig braucht bis das Skript offen ist.
                                        Vermutzlich braucht man einfach etwas Geduld. 😊

                                        Edit: gerade in deinem Post gelesen.
                                        Versionen 1.6.1 hochgeladen (Fenster und Türen noch nicht fertig)

                                        iQcontrol noch nicht getestet.

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

                                        @Mr-Robot

                                        @dslraser sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:

                                        Versionen 1.6.1 hochgeladen (Fenster und Türen noch nicht fertig)

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

                                        1 Antwort Letzte Antwort
                                        1
                                        • dslraserD dslraser
                                          Versionen 1.6.7
                                          aktualisiert am 23.12.2020
                                          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

                                          Hallo Zusammen.
                                          Ich stelle hier mein Blockly 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.
                                          Das gesamte Blockly nutzt "alias'e". Alle anderen benötigten Datenpunkte erstellt und 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.

                                          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)

                                          Welche Frage in welcher Formulierung gestellt wird bestimmt Ihr natürlich selbst, da dies über eine Routine in der Alexa App gesteuert wird. 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, 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.

                                          Meine verwendeten Adapter dafür sind:

                                          • Alexa2 Adapter 3.4.0
                                          • iot Adapter 1.8.8
                                          • Javascript Adapter 4.10.8
                                          • Telegram Adapter 1.5.9 (optional)
                                          • E-Mail Adapter 1.0.7 (optional)
                                          • und wenn gewünscht (optional) iQontrol 1.5.2
                                          • TR-064 4.2.1 Anruferansage (optional Telegram/EMAIL-extra Blockly im zweiten Beitrag)

                                          SmartGeräte für den iot Adapter werden direkt im Blockly erstellt, das sind dann die Button für die spätere Routine in der Amazon App.
                                          Das Blockly legt die benötigten Datenpunkte wahlweise unter 0_userdata.0 oder javascript.x selbst an (x=Javascript Instanznummer). Für die Erstellung der Datenpunkte nutze ich das Script von @Mic in einer Funktion. Dafür muß die Option "Erlaube das Kommando "setObject" im Javascript Adapter erlaubt sein.

                                          Bildschirmfoto 2020-04-08 um 12.05.38.png

                                          Der Versand aller Nachrichten (Telegram oder EMAIL) ist immer schaltbar, z.B. wenn man eine Anwesenheitsfunktion hat, dann könnte man den Versand bei Abwesenheit "scharf" schalten.
                                          Die Button hingegen funktionieren immer. Hier könnte man jeweils eine Routine in der Alexa App anlegen und den Versand des Gerätestatus-Versand auslösen.
                                          Z.B.
                                          Alexa, schicke mir den Fensterstatus.
                                          Alexa, schicke mir den Lichtstatus
                                          Alexa, schicke mir den Steckdosenstatus usw...

                                          Über diesen Weg lasse ich mir auch zum Beispiel auf Anforderung den Batteriestatus aller meiner Geräte mit Batterien als Liste schicken. Oder auch, Alexa schicke mir ein Bild von der Eingangskamera. Wenn man es auf die Spitze treibt, dann geht auch: Alexa, schicke mir den kompletten Status und dann trudeln bei mir nacheinander Bilder von drei Kameras, alle Batteriezustände, eine Liste mit geöffneten/gekippten Fenstern, ein Liste mit eingeschalteten Lampen usw. usw. usw. ein.

                                          Wenn Ihr nun Lust auf das Blockly habt, dann ist jetzt einmalig etwas Fleißarbeit angesagt. 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. 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. Da auf das Plus drücken.
                                          Bildschirmfoto 2020-06-29 um 21.16.04.png
                                          dann auf das Plus bei neue benutzerdefinierte Gruppe klicken
                                          Bildschirmfoto 2020-06-29 um 21.16.19.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 sind die Selektoren im Blockly

                                          Bildschirmfoto 2020-12-19 um 09.07.55.png
                                          Bildschirmfoto 2020-12-19 um 09.08.22.png
                                          Bildschirmfoto 2020-12-19 um 09.08.51.png
                                          Bildschirmfoto 2020-12-19 um 09.09.21.png
                                          Bildschirmfoto 2020-12-19 um 09.09.59.png
                                          Bildschirmfoto 2020-12-19 um 09.10.34.png
                                          Bildschirmfoto 2020-12-19 um 09.11.17.png
                                          Bildschirmfoto 2020-12-19 um 09.12.00.png
                                          Bildschirmfoto 2020-12-19 um 09.12.32.png

                                          Das ganze sieht dann nach dem Blockly Start in den Objekten z.B. so aus: (wenn alle Schalter im Blockly auf wahr stehen)

                                          Bildschirmfoto 2020-12-02 um 19.33.40.png

                                          01_Anzeigen_und_Listen

                                          Bildschirmfoto 2020-12-02 um 19.43.57.png

                                          02_Trigger_und_Schalter

                                          Bildschirmfoto 2020-12-02 um 19.44.12.png

                                          03_HTML_Daten hat zwei Unterordner

                                          Bildschirmfoto 2020-12-02 um 19.44.31.png

                                          01_HTML_Hell_Dunkel_Festeinstellung ist nicht veränderbar und sieht so aus (helle Einstellung aktiv)

                                          Bildschirmfoto 2020-12-02 um 19.45.09.png

                                          03_HTML_Eigene_Einstellung enthält die gleichen Datenpunkte und wird beim ersten verwenden des Triggers mit Standardwerten befüllt. Diese Werte können dann mit eigenen Werten überschrieben werden.

                                          Und hier noch der Rest

                                          Bildschirmfoto 2020-12-02 um 19.45.42.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)
                                          20201202_200704.gif



                                          Das ganze sieht dann so bei mir aus (ich habe immer nur die ersten fünf auf den Bildern)

                                          Bildschirmfoto 2020-07-04 um 19.22.51.png

                                          Bildschirmfoto 2020-07-04 um 19.26.55.png

                                          Bildschirmfoto 2020-06-30 um 15.46.33.png

                                          Bildschirmfoto 2020-06-30 um 15.46.48.png

                                          Bildschirmfoto 2020-06-30 um 15.47.02.png

                                          Bildschirmfoto 2020-06-30 um 15.47.15.png

                                          Bildschirmfoto 2020-07-04 um 19.23.12.png

                                          Bildschirmfoto 2020-06-30 um 15.47.46.png


                                          Im Beispielvideo werden die eigenen Alias ab Zeile 271 eingefügt, also ab dem ersten createAlias
                                          Video Beispiel:
                                          Alias_per_Script_erstellen.m4v
                                          In der Vorlage habe ich jeweils zwei meiner verwendeten Geräte als Beispiel eingefügt.
                                          Hier und in den folgenden Beiträgen versuche ich die Alias Funktion vom Script etwas zu erklären:
                                          Klick Erklärung alias Funktion

                                          /**************************************************************
                                          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)
                                          
                                          


                                          nach dem Alias erstellen das hier beachten: Klick


                                          bitte das Blockly auf den eigenen Rechner downloaden und dort mit einem 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.

                                          Hier ist der Blockly Export


                                          Temperaturen_1-6-7.zip


                                          Batterien_Volt_1-6-7.zip


                                          Steckdosen_1-6-7.zip


                                          Lichter_1-6-7.zip


                                          Bewegungsmelder_1-6-7.zip


                                          Batterien_voll_leer_1-6-7.zip


                                          Fenster_1-6-7.zip


                                          Tueren_1-6-7.zip


                                          Batterien_Prozent_1-6-7.zip

                                          meine iQontrol Einstellungen


                                          Bildschirmfoto 2020-12-03 um 08.00.37.png

                                          Bildschirmfoto 2020-12-03 um 08.00.50.png

                                          Bildschirmfoto 2020-12-03 um 08.02.31.png

                                          Bildschirmfoto 2020-12-03 um 08.03.03.png

                                          Bildschirmfoto 2020-12-03 um 08.03.44.png

                                          Bildschirmfoto 2020-12-03 um 08.04.20.png

                                          Bildschirmfoto 2020-12-03 um 08.05.09.png

                                          Bildschirmfoto 2020-12-03 um 08.06.48.png

                                          Bildschirmfoto 2020-12-03 um 08.07.24.png

                                          Bildschirmfoto 2020-12-03 um 08.08.20.png

                                          Bildschirmfoto 2020-12-03 um 08.09.00.png


                                          Hier der Export von diesem View
                                          2020-12-20_iqontrol_0_selected_views.json.zip

                                          20201220_092104.jpg




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

                                          2020-06-30 15.03.38.jpg

                                          ein neues Gerät (oder mehrere) wurde gefunden

                                          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

                                          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.

                                          2020-06-30 15.04.55.jpg

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

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

                                          @dslraser

                                          Hallo, sag mal mit welchen Widget kann ich mir in Vis die Liste anzeigen lassen? Stehe ich auf den Schlauch?
                                          Oder ist es nur für IQ ?

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

                                          dslraserD 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

                                          727

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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