Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Fenster und andere Geräte zählen opt. Alexa Ansagen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      Kueppert @dslraser last edited by

      @dslraser nein da hab ich diesmal nix dran gefummelt ^^

      var name = getObject(id).common.name;
      
      if (name.substr( -7) == ('Is open')) return name.slice(0, -7);
      if (name.substr( -6) == ('.STATE')) return name.slice(0, -6);
      if (name.substr( -6) == ('.state')) return name.slice(0, -6);
      if (name.substr( -5) == ('.open')) return name.slice(0, -5);
      if (name.substr( -4) == ('open')) return name.slice(0, -5);
      
      id = id.substring(0, id.lastIndexOf('.'));
      if(existsObject(id) && getObject(id).type == 'channel') return getObject(id).common.name;
      id = id.substring(0, id.lastIndexOf('.'));
      if(existsObject(id) && getObject(id).type == 'channel') return getObject(id).common.name;
      
      else return 'Sensor unbekannt';
      
      
      
      
      
          
      
      
      
      
      dslraser 1 Reply Last reply Reply Quote 0
      • dslraser
        dslraser Forum Testing Most Active @Kueppert last edited by

        @Kueppert
        kannst Du Zeile 3-7 mal auskommentieren und schauen ob das Blockly dann bei Dir läuft. Wenn nicht, dann mal 3-7 aktivieren und nochmal 9-12 auskommtieren.
        So richtig weiß ich nicht woran es sonst liegen kann. Ich habe aber auch nur HMIP da drinn und einige andere "virtuelle" selbst angelegte DP probiert.

        K 1 Reply Last reply Reply Quote 0
        • K
          Kueppert @dslraser last edited by Kueppert

          @dslraser hab ich gemacht, mit folgendem Ergebnis:

          Zeile 9-12 auskommentiert:
          fff50aa2-0f73-43b3-ad34-820931cbb217-grafik.png

          javascript.0	2020-05-19 11:09:40.049	info	(5889) Stop script script.js.common.Sonstiges.Status_Türen&Fenster_gesamt
          javascript.0	2020-05-19 11:09:17.966	error	(5889) at processTimers (internal/timers.js:492:7)
          javascript.0	2020-05-19 11:09:17.966	error	(5889) at listOnTimeout (internal/timers.js:551:17)
          javascript.0	2020-05-19 11:09:17.966	error	(5889) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2015:34)
          javascript.0	2020-05-19 11:09:17.965	error	(5889) at Object.<anonymous> (script.js.common.Sonstiges.Status_Türen&Fenster_gesamt:508:5)
          javascript.0	2020-05-19 11:09:17.965	error	(5889) at zaehlen (script.js.common.Sonstiges.Status_Türen&Fenster_gesamt:225:45)
          javascript.0	2020-05-19 11:09:17.965	error	(5889) at getParentName (script.js.common.Sonstiges.Status_Türen&Fenster_gesamt:374:14)
          javascript.0	2020-05-19 11:09:17.964	error	(5889) Error in callback: TypeError: name.substr is not a function
          

          Zeilen 3-7 auskommentiert:
          8ccdb314-878b-4eea-9e97-15ae37d2d57d-grafik.png

          javascript.0	2020-05-19 11:11:38.580	info	(5889) Stop script script.js.common.Sonstiges.Status_Türen&Fenster_gesamt
          javascript.0	2020-05-19 11:11:33.556	error	(5889) at processTimers (internal/timers.js:492:7)
          javascript.0	2020-05-19 11:11:33.556	error	(5889) at listOnTimeout (internal/timers.js:551:17)
          javascript.0	2020-05-19 11:11:33.556	error	(5889) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2015:34)
          javascript.0	2020-05-19 11:11:33.555	error	(5889) at Object.<anonymous> (script.js.common.Sonstiges.Status_Türen&Fenster_gesamt:508:5)
          javascript.0	2020-05-19 11:11:33.555	error	(5889) at zaehlen (script.js.common.Sonstiges.Status_Türen&Fenster_gesamt:225:45)
          javascript.0	2020-05-19 11:11:33.554	error	(5889) at getParentName (script.js.common.Sonstiges.Status_Türen&Fenster_gesamt:374:14)
          javascript.0	2020-05-19 11:11:33.552	error	(5889) Error in callback: TypeError: name.substr is not a function
          

          Das Steckdosenskript läuft wunderbar...und da sehen die Code-Zeilen nicht viel anders aus

          dslraser 2 Replies Last reply Reply Quote 0
          • dslraser
            dslraser Forum Testing Most Active @Kueppert last edited by

            @Kueppert
            deaktiviere das mal bitte (das ist ab Zeile 374)

            Bildschirmfoto 2020-05-19 um 11.14.16.png

            1 Reply Last reply Reply Quote 0
            • dslraser
              dslraser Forum Testing Most Active @Kueppert last edited by

              @Kueppert
              kannst Du mir nochmal Deine RAW von Deinen Fenstersensoren posten

              K 1 Reply Last reply Reply Quote 0
              • K
                Kueppert @dslraser last edited by

                @dslraser hat leider nix gebracht, auch wieder Fehlermeldungen.

                Anbei paar RAWs:
                vom MiHome-Adapter ein Xiaomi-Fenstersensor

                {
                  "from": "system.adapter.mihome.0",
                  "user": "system.user.admin",
                  "ts": 1551894017590,
                  "common": {
                    "name": "Kinderzimmer-Fenster (R)",
                    "role": "state",
                    "type": "boolean",
                    "write": false,
                    "read": true
                  },
                  "native": {},
                  "acl": {
                    "object": 1636,
                    "owner": "system.user.admin",
                    "ownerGroup": "system.group.administrator",
                    "state": 1636
                  },
                  "_id": "mihome.0.devices.magnet_158d0002b7b76c.state",
                  "type": "state"
                }
                

                HM-IP Türsensor:

                {
                  "type": "state",
                  "common": {
                    "def": "CLOSED",
                    "type": "number",
                    "read": true,
                    "write": false,
                    "min": 0,
                    "max": 1,
                    "states": {
                      "0": "CLOSED",
                      "1": "OPEN"
                    },
                    "unit": "\"\"",
                    "role": "value.window",
                    "name": "HMIP-Türsensor Keller.STATE"
                  },
                  "native": {
                    "MIN": "CLOSED",
                    "UNIT": "\"\"",
                    "OPERATIONS": 5,
                    "MAX": "OPEN",
                    "FLAGS": 1,
                    "ID": "STATE",
                    "TAB_ORDER": 0,
                    "TYPE": "ENUM",
                    "DEFAULT": "CLOSED",
                    "VALUE_LIST": [
                      "CLOSED",
                      "OPEN"
                    ],
                    "CONTROL": "DOOR_SENSOR.STATE"
                  },
                  "from": "system.adapter.hm-rega.0",
                  "user": "system.user.admin",
                  "ts": 1589550730457,
                  "_id": "hm-rpc.0.0000D709925D62.1.STATE",
                  "acl": {
                    "object": 1636,
                    "state": 1636,
                    "owner": "system.user.admin",
                    "ownerGroup": "system.group.administrator"
                  }
                } 
                

                Zigbee-Adapter:

                {
                  "type": "state",
                  "common": {
                    "name": "EG Küche Fenster Sensor Is open",
                    "type": "boolean",
                    "read": true,
                    "write": false,
                    "role": "state"
                  },
                  "from": "system.adapter.zigbee.0",
                  "user": "system.user.admin",
                  "ts": 1588595295109,
                  "_id": "zigbee.0.00158d00019db26a.opened",
                  "acl": {
                    "object": 1636,
                    "state": 1636,
                    "owner": "system.user.admin",
                    "ownerGroup": "system.group.administrator"
                  },
                  "native": {}
                }
                
                K 1 Reply Last reply Reply Quote 0
                • K
                  Kueppert @Kueppert last edited by

                  @Kueppert JUHUUU, @dslraser hat es herausgefunden. Bei mir steht im Namen des Objekts ein (R) für rechts und (L) für links...das geht nicht (oder man muss es herausfiltern). Ich hab einfach die Klammern entfernt, fertig. 🙂
                  Jetzt kanns weiter gehen.

                  Herzlichen Dank @dslraser für deine Unterstützung.

                  Viele Grüße, Thorsten

                  Thomas Braun dslraser 2 Replies Last reply Reply Quote 0
                  • Thomas Braun
                    Thomas Braun Most Active @Kueppert last edited by

                    @Kueppert
                    Sonderzeichen sind an der Stelle nie eine gute Idee.
                    Warum?
                    Deswegen:
                    https://de.wikipedia.org/wiki/Regulärer_Ausdruck

                    1 Reply Last reply Reply Quote 0
                    • dslraser
                      dslraser Forum Testing Most Active @Kueppert last edited by dslraser

                      @Kueppert

                      damit ginge es auch (ohne (R) )

                      var name = getObject(id).common.name;
                      
                      if (name.substr( -7) == ('Is open')) return name.slice(0, -7);
                      if (name.substr( -6) == ('.STATE')) return name.slice(0, -6);
                      if (name.substr( -6) == ('.state')) return name.slice(0, -6);
                      if (name.substr( -5) == ('.open')) return name.slice(0, -5);
                      if (name.substr( -4) == (' (R)')) return name.slice(0, -4);
                      
                      id = id.substring(0, id.lastIndexOf('.'));
                      if(existsObject(id) && getObject(id).type == 'channel') return getObject(id).common.name;
                      id = id.substring(0, id.lastIndexOf('.'));
                      if(existsObject(id) && getObject(id).type == 'channel') return getObject(id).common.name;
                      
                      else return 'Sensor unbekannt';
                      

                      Bildschirmfoto 2020-05-19 um 12.13.20.png

                      Edit: und wenn Du das (R) behalten willst, dann ginge es auch damit

                      var name = getObject(id).common.name;
                      
                      if (name.substr( -7) == ('Is open')) return name.slice(0, -7);
                      if (name.substr( -6) == ('.STATE')) return name.slice(0, -6);
                      if (name.substr( -6) == ('.state')) return name.slice(0, -6);
                      if (name.substr( -5) == ('.open')) return name.slice(0, -5);
                      if (name.substr( -4) == (' (R)')) return name;
                      
                      id = id.substring(0, id.lastIndexOf('.'));
                      if(existsObject(id) && getObject(id).type == 'channel') return getObject(id).common.name;
                      id = id.substring(0, id.lastIndexOf('.'));
                      if(existsObject(id) && getObject(id).type == 'channel') return getObject(id).common.name;
                      
                      else return 'Sensor unbekannt';
                      

                      Mit (R) sieht es so aus (das sind Deine drei RAW)
                      Bildschirmfoto 2020-05-19 um 12.06.31.png

                      Edit: falls sich Jemand wundert, ich habe bei mir mein "Keller Blockly" missbraucht und nur einen anderen Selektor mit den drei RAW in einer anderen Aufzählung benutzt...

                      1 Reply Last reply Reply Quote 0
                      • dslraser
                        dslraser Forum Testing Most Active last edited by dslraser

                        wer schon mal testen möchte....
                        Mit dieser Datei kann man drei Sorten von "Geräte zählen" erstellen.

                        Steckdosen
                        Lichter
                        Bewegungsmelder

                        In dieser Funktion
                        Screenshot_20200519-223729_Chrome.jpg
                        Hier in Zeile 129 (wo Haus steht) kann ein Wunschname rein
                        In Zeile 130 muß einer der drei Geräte in genau dieser Schreibweise wie genannt stehen.
                        Bildschirmfoto 2020-05-19 um 22.23.04.png

                        Hier dann den Wunschnamen wie oben genau so reinschreiben.
                        Und dann auswählen was man erstellen möchte.
                        Bildschirmfoto 2020-05-19 um 22.22.44.png

                        Der Rest ist wie gehabt.
                        Zu mehr Erklärung habe ich heute keine Lust mehr...(kommt dann noch)
                        Hier erstmal "nur" die komplette Variante

                        Dateien sind im ersten und zweiten Beitrag, ganz oben.

                        falke69 sigi234 2 Replies Last reply Reply Quote 2
                        • falke69
                          falke69 @dslraser last edited by

                          @dslraser
                          würde ich gern testen, leider funktioniert der Import nicht bei mir, da ich Telegram nicht nutzt. 😞
                          Ich kann mir vorstellen, dass es viel Arbeit und Zeit kostet, dass alles getrennt unterzubringen und jede einzelne Version immer zu updaten.
                          Aber vielleicht hast Du ja doch noch die Möglichkeit in Deinem Blockly Telegram und iqontrol zu entfernen und eine Datei nur mit allen drei Zählungen zur Verfügung zu stellen.

                          dslraser 2 Replies Last reply Reply Quote 0
                          • dslraser
                            dslraser Forum Testing Most Active @falke69 last edited by

                            @falke69
                            kommt nachher...bin gerade dabei

                            1 Reply Last reply Reply Quote 1
                            • dslraser
                              dslraser Forum Testing Most Active @falke69 last edited by dslraser

                              @falke69

                              Dateien sind jetzt im ersten und zweiten Beitrag hochgeladen. Eine Beschreibung/Anleitung folgt.

                              1 Reply Last reply Reply Quote 0
                              • sigi234
                                sigi234 Forum Testing Most Active @dslraser last edited by sigi234

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

                                Mit dieser Datei kann man drei Sorten von "Geräte zählen" erstellen.

                                Muss ich dann auch in der Zeile 130 Steckdosen und Lichter noch hinzufügen?

                                Bei 03 steht : Die Steckdosen sind überall ausgeschaltet ?

                                Screenshot (2514).png

                                Frage 2

                                Es kommt eine Fehlerwarnung bei 2 Funktionen:
                                Screenshot (2516)_LI.jpg

                                dslraser 2 Replies Last reply Reply Quote 0
                                • dslraser
                                  dslraser Forum Testing Most Active @sigi234 last edited by

                                  @sigi234
                                  ich mache gerade oben im ersten Beitrag die Beschreibung fertig. Immer nur ein Gerät da rein schreiben z.B. Steckdosen und dafür das Blockly erstellen. Wenn Du z.B. auch noch Lichter haben willst, dann die Datei in ein neues Blockly kopieren und für Lichter einrichten. usw...

                                  sigi234 1 Reply Last reply Reply Quote 0
                                  • sigi234
                                    sigi234 Forum Testing Most Active @dslraser last edited by sigi234

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

                                    @sigi234
                                    ich mache gerade oben im ersten Beitrag die Beschreibung fertig. Immer nur ein Gerät da rein schreiben z.B. Steckdosen und dafür das Blockly erstellen. Wenn Du z.B. auch noch Lichter haben willst, dann die Datei in ein neues Blockly kopieren und für Lichter einrichten. usw...

                                    Aha, also 3 Blockly

                                    Noch was, wichtig ist die SCHREIBWEISE in ID vom Selektor, also bei mir Bewegungsmelder hat nicht funktioniert, aber bewegungsmelder schon.

                                    dslraser 1 Reply Last reply Reply Quote 0
                                    • dslraser
                                      dslraser Forum Testing Most Active @sigi234 last edited by

                                      @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:

                                      @sigi234
                                      ich mache gerade oben im ersten Beitrag die Beschreibung fertig. Immer nur ein Gerät da rein schreiben z.B. Steckdosen und dafür das Blockly erstellen. Wenn Du z.B. auch noch Lichter haben willst, dann die Datei in ein neues Blockly kopieren und für Lichter einrichten. usw...

                                      Aha, also 3 Blockly

                                      Noch was, wichtig ist die SCHREIBWEISE in ID vom Selektor, also bei mir Bewegungsmelder hat nicht funktioniert, aber bewegungsmelder schon.

                                      Siehe Anleitung vom Fensteransage Blockly. Die andere Anleitung erstelle ich ja gerade...

                                      Bildschirmfoto 2020-05-20 um 14.44.28.png

                                      1 Reply Last reply Reply Quote 1
                                      • dslraser
                                        dslraser Forum Testing Most Active @sigi234 last edited by

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

                                        Es kommt eine Fehlerwarnung bei 2 Funktionen:

                                        Kommt bei mir nicht. Welche Javascript Version nutzt Du ?

                                        sigi234 1 Reply Last reply Reply Quote 0
                                        • sigi234
                                          sigi234 Forum Testing Most Active @dslraser last edited by

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

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

                                          Es kommt eine Fehlerwarnung bei 2 Funktionen:

                                          Kommt bei mir nicht. Welche Javascript Version nutzt Du ?

                                          4.6.14

                                          dslraser 2 Replies Last reply Reply Quote 0
                                          • dslraser
                                            dslraser Forum Testing Most Active @sigi234 last edited by

                                            @sigi234
                                            siehe ganz oben. Ich habe 4.5.1
                                            Keine Ahnung ob es daran liegt.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            850
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly javascript
                                            41
                                            1186
                                            350113
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo