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

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. [Gelöst] Sensoren überwachen + Benachrichtigung

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    991

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    694

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.0k

[Gelöst] Sensoren überwachen + Benachrichtigung

Geplant Angeheftet Gesperrt Verschoben Blockly
28 Beiträge 3 Kommentatoren 1.9k Aufrufe 4 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.
  • paul53P paul53

    @d3ltoroxp sagte: wie ich die Funktion auch noch mal auf HMIP anwende ?

    Wenn in beiden Fällen der Gerätename angezeigt werden soll, dann verwende eine erweiterte Funktion deviceName(id):

    id = id.substring(0, id.lastIndexOf('.'));
    if(existsObject(id) && getObject(id).type == 'device') return getObject(id).common.name;
    id = id.substring(0, id.lastIndexOf('.'));
    if(existsObject(id) && getObject(id).type == 'device') return getObject(id).common.name;
    
    D3ltoroxpD Offline
    D3ltoroxpD Offline
    D3ltoroxp
    schrieb am zuletzt editiert von D3ltoroxp
    #15

    @paul53 Auf den ersten Blick beide Zeilen identisch. Wenn ich nun noch mehrere andere Hersteller habe, kann ich dann einfach um die Anzahl erweitern ? Bei z.b. 4 unterschiedlichen Herstellern ?

    id = id.substring(0, id.lastIndexOf('.'));
    
    if(existsObject(id) && getObject(id).type == 'device') return getObject(id).common.name;
    
    id = id.substring(0, id.lastIndexOf('.'));
    
    if(existsObject(id) && getObject(id).type == 'device') return getObject(id).common.name;
    
    id = id.substring(0, id.lastIndexOf('.'));
    
    if(existsObject(id) && getObject(id).type == 'device') return getObject(id).common.name;
    
    id = id.substring(0, id.lastIndexOf('.'));
    
    if(existsObject(id) && getObject(id).type == 'device') return getObject(id).common.name;
    

    Edit:

    Ich hab wohl irgendwo noch einen Fehler ??

    javascript.0 (607) script.js.VIS.Sensoren_Ueberwachung: TypeError: Offline_Sensoren.split is not a function
    19:27:40.685	error	javascript.0 (607) at script.js.VIS.Sensoren_Ueberwachung:40:69
    

    Oder muss ich

    deviceName(id)
    

    noch in die JS Funktion so eintragen, anstatt "name" ? Oder gar in die Variable so eintragen ?

    paul53P 2 Antworten Letzte Antwort
    0
    • D3ltoroxpD D3ltoroxp

      @paul53 Auf den ersten Blick beide Zeilen identisch. Wenn ich nun noch mehrere andere Hersteller habe, kann ich dann einfach um die Anzahl erweitern ? Bei z.b. 4 unterschiedlichen Herstellern ?

      id = id.substring(0, id.lastIndexOf('.'));
      
      if(existsObject(id) && getObject(id).type == 'device') return getObject(id).common.name;
      
      id = id.substring(0, id.lastIndexOf('.'));
      
      if(existsObject(id) && getObject(id).type == 'device') return getObject(id).common.name;
      
      id = id.substring(0, id.lastIndexOf('.'));
      
      if(existsObject(id) && getObject(id).type == 'device') return getObject(id).common.name;
      
      id = id.substring(0, id.lastIndexOf('.'));
      
      if(existsObject(id) && getObject(id).type == 'device') return getObject(id).common.name;
      

      Edit:

      Ich hab wohl irgendwo noch einen Fehler ??

      javascript.0 (607) script.js.VIS.Sensoren_Ueberwachung: TypeError: Offline_Sensoren.split is not a function
      19:27:40.685	error	javascript.0 (607) at script.js.VIS.Sensoren_Ueberwachung:40:69
      

      Oder muss ich

      deviceName(id)
      

      noch in die JS Funktion so eintragen, anstatt "name" ? Oder gar in die Variable so eintragen ?

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #16

      @d3ltoroxp sagte: Wenn ich nun noch mehrere andere Hersteller habe, kann ich dann einfach um die Anzahl erweitern ? Bei z.b. 4 unterschiedlichen Herstellern ?

      Das hat nichts mit den Herstellern zu tun, sondern mit der unterschiedlichen Objekt-Struktur der Adapter:

      • Zigbee: device.state
      • HM-RPC: device.channel.state

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      1 Antwort Letzte Antwort
      0
      • D3ltoroxpD D3ltoroxp

        @paul53 Auf den ersten Blick beide Zeilen identisch. Wenn ich nun noch mehrere andere Hersteller habe, kann ich dann einfach um die Anzahl erweitern ? Bei z.b. 4 unterschiedlichen Herstellern ?

        id = id.substring(0, id.lastIndexOf('.'));
        
        if(existsObject(id) && getObject(id).type == 'device') return getObject(id).common.name;
        
        id = id.substring(0, id.lastIndexOf('.'));
        
        if(existsObject(id) && getObject(id).type == 'device') return getObject(id).common.name;
        
        id = id.substring(0, id.lastIndexOf('.'));
        
        if(existsObject(id) && getObject(id).type == 'device') return getObject(id).common.name;
        
        id = id.substring(0, id.lastIndexOf('.'));
        
        if(existsObject(id) && getObject(id).type == 'device') return getObject(id).common.name;
        

        Edit:

        Ich hab wohl irgendwo noch einen Fehler ??

        javascript.0 (607) script.js.VIS.Sensoren_Ueberwachung: TypeError: Offline_Sensoren.split is not a function
        19:27:40.685	error	javascript.0 (607) at script.js.VIS.Sensoren_Ueberwachung:40:69
        

        Oder muss ich

        deviceName(id)
        

        noch in die JS Funktion so eintragen, anstatt "name" ? Oder gar in die Variable so eintragen ?

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #17

        @d3ltoroxp sagte: noch in die JS Funktion so eintragen, anstatt "name" ?

        Nein, es geht auch Name(id). Ist nur nicht so eindeutig, was zurück geliefert wird.

        @d3ltoroxp sagte in [Gelöst] Sensoren überwachen + Benachrichtigung:

        Offline_Sensoren.split is not a function

        Nicht Text in eine Liste wandeln, sondern eine Liste in Text.

        Bild_2022-05-03_193246211.png

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        D3ltoroxpD 1 Antwort Letzte Antwort
        1
        • paul53P paul53

          @d3ltoroxp sagte: noch in die JS Funktion so eintragen, anstatt "name" ?

          Nein, es geht auch Name(id). Ist nur nicht so eindeutig, was zurück geliefert wird.

          @d3ltoroxp sagte in [Gelöst] Sensoren überwachen + Benachrichtigung:

          Offline_Sensoren.split is not a function

          Nicht Text in eine Liste wandeln, sondern eine Liste in Text.

          Bild_2022-05-03_193246211.png

          D3ltoroxpD Offline
          D3ltoroxpD Offline
          D3ltoroxp
          schrieb am zuletzt editiert von D3ltoroxp
          #18

          @paul53 Vielen vielen Dank. Sieht super aus und scheint auch seine Arbeit zu verrichten.

          Also wenn noch ein weiterer Adapter dazu kommt muss ich dann noch mal was an der Funktion ändern ?

          Z.b.Sonoff dazu nehmen möchte, für mich als Noob, sehen die States bei allen drei gleich aus. Woher weiß ich ober Sonoff = device.satet oder device.channel.state oder gar noch eine andere Variante hat ?

          EDIT::

          349965e4-21a9-43e7-b0fe-76b7d7926bf9-grafik.png

          Ich hab das mal auf den Batterie Status umgestellt, auf "Available" sind die Zeitstempel Uhr alt. Aber wenn ich den DP raus kopiere für das Wort, tut sich da gar nichts mehr mit den Zigbee Sensoren, obwohl welche in der Liste sein müssten.

          7cf59f50-d66d-4bc8-ba1c-8399fd47a9bd-grafik.png

          Bestimmt falsch geschrieben...

          {
            "type": "state",
            "common": {
              "name": "Terrasse_FK Battery percent",
              "type": "number",
              "unit": "%",
              "read": true,
              "write": false,
              "role": "battery.percent",
              "min": 0,
              "max": 100,
              "icon": "img/battery_p.png"
            },
            "from": "system.adapter.zigbee.0",
            "user": "system.user.admin",
            "ts": 1582998804679,
            "_id": "zigbee.0.00158d0002e8bbbc.battery",
            "acl": {
              "object": 1636,
              "state": 1636,
              "owner": "system.user.admin",
              "ownerGroup": "system.group.administrator"
            }
          }
          
          paul53P 1 Antwort Letzte Antwort
          0
          • D3ltoroxpD D3ltoroxp

            @paul53 Vielen vielen Dank. Sieht super aus und scheint auch seine Arbeit zu verrichten.

            Also wenn noch ein weiterer Adapter dazu kommt muss ich dann noch mal was an der Funktion ändern ?

            Z.b.Sonoff dazu nehmen möchte, für mich als Noob, sehen die States bei allen drei gleich aus. Woher weiß ich ober Sonoff = device.satet oder device.channel.state oder gar noch eine andere Variante hat ?

            EDIT::

            349965e4-21a9-43e7-b0fe-76b7d7926bf9-grafik.png

            Ich hab das mal auf den Batterie Status umgestellt, auf "Available" sind die Zeitstempel Uhr alt. Aber wenn ich den DP raus kopiere für das Wort, tut sich da gar nichts mehr mit den Zigbee Sensoren, obwohl welche in der Liste sein müssten.

            7cf59f50-d66d-4bc8-ba1c-8399fd47a9bd-grafik.png

            Bestimmt falsch geschrieben...

            {
              "type": "state",
              "common": {
                "name": "Terrasse_FK Battery percent",
                "type": "number",
                "unit": "%",
                "read": true,
                "write": false,
                "role": "battery.percent",
                "min": 0,
                "max": 100,
                "icon": "img/battery_p.png"
              },
              "from": "system.adapter.zigbee.0",
              "user": "system.user.admin",
              "ts": 1582998804679,
              "_id": "zigbee.0.00158d0002e8bbbc.battery",
              "acl": {
                "object": 1636,
                "state": 1636,
                "owner": "system.user.admin",
                "ownerGroup": "system.group.administrator"
              }
            }
            
            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von
            #19

            @d3ltoroxp sagte: Batterie Status umgestellt

            Links ist die ID zu sehen:

            Bild_2022-05-03_203046540.png

            @d3ltoroxp sagte in [Gelöst] Sensoren überwachen + Benachrichtigung:

            Sonoff dazu nehmen möchte, für mich als Noob, sehen die States bei allen drei gleich aus.

            Ich kenne die Objekt-Struktur des Sonoff-Adapters nicht. Bitte zeigen!

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            D3ltoroxpD 1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @d3ltoroxp sagte: Batterie Status umgestellt

              Links ist die ID zu sehen:

              Bild_2022-05-03_203046540.png

              @d3ltoroxp sagte in [Gelöst] Sensoren überwachen + Benachrichtigung:

              Sonoff dazu nehmen möchte, für mich als Noob, sehen die States bei allen drei gleich aus.

              Ich kenne die Objekt-Struktur des Sonoff-Adapters nicht. Bitte zeigen!

              D3ltoroxpD Offline
              D3ltoroxpD Offline
              D3ltoroxp
              schrieb am zuletzt editiert von
              #20

              @paul53 Noch mals tausend Dank für deine tolle Unterstützung... Heute stell ich mich aber auch an. Danke für deine Geduld.

              62c7581e-cdf4-4d23-a122-9db8616d951e-grafik.png

              Ich hoffe das ist das richtige ?

              paul53P 1 Antwort Letzte Antwort
              0
              • D3ltoroxpD D3ltoroxp

                @paul53 Noch mals tausend Dank für deine tolle Unterstützung... Heute stell ich mich aber auch an. Danke für deine Geduld.

                62c7581e-cdf4-4d23-a122-9db8616d951e-grafik.png

                Ich hoffe das ist das richtige ?

                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #21

                @d3ltoroxp sagte: Ich hoffe das ist das richtige ?

                Ja. Du möchtest den Namen "FritzBox_Ladekabel" haben? Das ist ein Kanal, kein Gerät. Hierfür benötigt man eine Funktion channelName(id) mit folgendem Inhalt:

                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;
                

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                D3ltoroxpD 1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @d3ltoroxp sagte: Ich hoffe das ist das richtige ?

                  Ja. Du möchtest den Namen "FritzBox_Ladekabel" haben? Das ist ein Kanal, kein Gerät. Hierfür benötigt man eine Funktion channelName(id) mit folgendem Inhalt:

                  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;
                  
                  D3ltoroxpD Offline
                  D3ltoroxpD Offline
                  D3ltoroxp
                  schrieb am zuletzt editiert von
                  #22

                  @paul53 Ach so sorry, der blaue Marker hat nichts zu sagen. War nur zufällig. Ich hätte wäre hier auf Uptime oder auf einen Wifi DP gegangen.

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • D3ltoroxpD D3ltoroxp

                    @paul53 Ach so sorry, der blaue Marker hat nichts zu sagen. War nur zufällig. Ich hätte wäre hier auf Uptime oder auf einen Wifi DP gegangen.

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von paul53
                    #23

                    @d3ltoroxp sagte: auf Uptime oder auf einen Wifi DP gegangen.

                    Den Namen doch sicherlich vom übergeordneten Objekt, das ein "channel"-Objekt ist?

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    D3ltoroxpD 1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @d3ltoroxp sagte: auf Uptime oder auf einen Wifi DP gegangen.

                      Den Namen doch sicherlich vom übergeordneten Objekt, das ein "channel"-Objekt ist?

                      D3ltoroxpD Offline
                      D3ltoroxpD Offline
                      D3ltoroxp
                      schrieb am zuletzt editiert von
                      #24

                      @paul53 Ja den Namen von oben...

                      Kann ich das in dem JS Code mit hinzufügen ? Soll ja alles in einem Script laufen.?

                      paul53P 1 Antwort Letzte Antwort
                      0
                      • D3ltoroxpD D3ltoroxp

                        @paul53 Ja den Namen von oben...

                        Kann ich das in dem JS Code mit hinzufügen ? Soll ja alles in einem Script laufen.?

                        paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von
                        #25

                        @d3ltoroxp sagte: Kann ich das in dem JS Code mit hinzufügen ?

                        Ja, erstelle eine zweite JS-Funktion channelName(id) mit dem JS Code oben.

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                        D3ltoroxpD 2 Antworten Letzte Antwort
                        0
                        • paul53P paul53

                          @d3ltoroxp sagte: Kann ich das in dem JS Code mit hinzufügen ?

                          Ja, erstelle eine zweite JS-Funktion channelName(id) mit dem JS Code oben.

                          D3ltoroxpD Offline
                          D3ltoroxpD Offline
                          D3ltoroxp
                          schrieb am zuletzt editiert von
                          #26

                          @paul53 Ah ja jetzt,

                          adcb2596-bbeb-4f64-80db-5408889739c2-grafik.png

                          ein zweites und dann einfach für Sonoff dann die andere JS Funktion nutzen... Ich probierst, vielen Dank noch mal. Das andere läuft schon super !!

                          1 Antwort Letzte Antwort
                          0
                          • D3ltoroxpD Offline
                            D3ltoroxpD Offline
                            D3ltoroxp
                            schrieb am zuletzt editiert von
                            #27

                            Kann ich eigentlich in der VIS auch den Zeitstempel überprüfen ? Ich würde gerne die Temps z.b. rot färben lassen, wenn der Zeitstämpel x Zeit überschreitet, damit ich weiß, er ist nicht mehr online und der Wert nicht aktuell.

                            Oder muss ich hier mit einem Script extra DP's mit true / false schalten und damit dann in der VIS arbeiten ?

                            1 Antwort Letzte Antwort
                            0
                            • paul53P paul53

                              @d3ltoroxp sagte: Kann ich das in dem JS Code mit hinzufügen ?

                              Ja, erstelle eine zweite JS-Funktion channelName(id) mit dem JS Code oben.

                              D3ltoroxpD Offline
                              D3ltoroxpD Offline
                              D3ltoroxp
                              schrieb am zuletzt editiert von D3ltoroxp
                              #28

                              @paul53 Ich hänge hier noch etwas fest.

                              Ich habe das für HMIP Geräte genau so gemacht, aber da spuckt er gar nichts aus. Obwohl ein Kontakt nicht erreichbar ist.

                              5e30920a-c576-4e33-aec0-0a405416dde0-grafik.png

                              Hat sich erledigt, ka. Ich hatte mal mit einer kleineren Zeit getestet da gings, die Zeit wieder hoch gesetzt dann ging's auch.

                              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

                              507

                              Online

                              32.6k

                              Benutzer

                              82.0k

                              Themen

                              1.3m

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

                              • Du hast noch kein Konto? Registrieren

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