Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Sensorstatus per Telegram schicken

    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

    Sensorstatus per Telegram schicken

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      Stefan_NK last edited by

      Hallo Zusammen,

      wie im Titel beschrieben, würde ich mir gerne 1x täglich den Status einiger, ausgewählter Sensoren (aktuell nur Zigbee, soll aber erweitert werden) per Telegram schicken lassen. Dazu zum Beispiel Batterie- und Verbindungsstatus.
      Derzeit habe ich ein Blockly, das mit jeden Sensorwert in einen Text zusammen fasst. Ist natürlich recht aufwändig.
      Kann man so eine Art "Schleife" erstellen, in der alle Geräte ausgelesen werden? Das wäre eventuell für die VIS-Darstellung auch brauchbar.
      Habt ihr da etwas in die Richtung, wie ich weiter kommen würde?

      LG Stefan

      Asgothian 1 Reply Last reply Reply Quote 0
      • Asgothian
        Asgothian Developer @Stefan_NK last edited by Asgothian

        @Stefan_NK

        In Blockly geht das nach dem folgenden Muster:

        dScreenshot 2020-09-21 at 13.34.24.png

        Am Ende kannst du die Variable "MessageText" per Telegramm verschicken. Natürlich kannst du im "create list with" Baustein noch mehr Einträge erzeugen. Für den "for each" Baustein danach ist egal wieviele es sind, er geht durch alle durch.

        Ohne Blockly (mit JS) kannst du ggf. die Liste der gewünschten Datenpunkte durch einen oder mehrere "Selektoren" automatisch generieren lassen. Das hier zu erklären sprengt aber den Rahmen, deswegen nur das Beispiel aus der Doku:

        $('channel[role=switch][state.id=*.STATE](rooms=Wohnzimmer)').each(function (id, i) {
            console.log(id);
            if (i == 1) return false;
        });
        

        Da müsstest du dann an stelle des "console.log(id)" nen getState(id) machen und die Werte jeweils zu einem String zusammen bauen. Wie sinnvoll das ist hängt ab von

        • der Anzahl der Objekte die du Überwachen willst
        • wie gut sich diese über einen Selektor auswählen lassen
        S 1 Reply Last reply Reply Quote 0
        • S
          Stefan_NK @Asgothian last edited by

          @Asgothian
          Danke, das werde ich heute Abend ausprobieren.
          Beim Blockly: Das heißt, dein Blockly unter einen Trigger hängen und danach den Telegram anhängen?

          Asgothian 1 Reply Last reply Reply Quote 0
          • Asgothian
            Asgothian Developer @Stefan_NK last edited by

            @Stefan_NK Du solltest den Trigger zwischen das "set list of datapoints to" und "for each item" setzen, damit die Liste nicht bei jedem Trigger neu erstellt wird. Und ich hoffe du planst das auf Uhrzeit zu triggern.

            A.

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

            Support us

            ioBroker
            Community Adapters
            Donate

            960
            Online

            31.9k
            Users

            80.2k
            Topics

            1.3m
            Posts

            2
            4
            438
            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