Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Benachrichtigung, wenn iobroker nicht mehr erreichbar ist?

    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

    Benachrichtigung, wenn iobroker nicht mehr erreichbar ist?

    This topic has been deleted. Only users with topic management privileges can see it.
    • liv-in-sky
      liv-in-sky @DarkDevil last edited by

      @darkdevil kann dir das mal zeigen mit telegram - brauch noch ein wenig, bis ich wieder am rechner bin

      1 Reply Last reply Reply Quote 0
      • liv-in-sky
        liv-in-sky @DarkDevil last edited by liv-in-sky

        @darkdevil

        also:

        tasker und telegram sind keine wirklichen freunde - es gibt kein gutes plugin dafür - daher muss man das über einen api call machen. der kann in tasker einfach definiert werden und super einfach in einem browser getestet werden

        ein api aufruf sieht so aus:

        https://api.telegram.org/bot[YourKey]/sendMessage?chat_id=[@YourChannelName]&text=[YourText]
        

        an einem beispiel von mir:

        https://api.telegram.org/bot989xxxxxxxxxxxxxxxxxxxxxxxxeO-E020b3bPXuw9gry0rc/sendMessage?chat_id=9yyyyyy65&text=testmessage
        

        der key ist z.b. in deiner telegram instanz zu bekommen und die chat-id habe ich auch im setting der instanz bekommen.
        dann kannst du einen eigenen aufruf gestalten und in einem browser eingeben - dort bekommst du eine antwort zu sehen, wenn etwas nicht klappt und in der telegram app siehst du "testmessage", wenn es geklappt hat

        das war der schwierige teil

        in tasker

        • erstmal ein ping
        • dann wird die antwort gecheckt
        • und je nachdem der http post (api aufruf) gestartet

        diese ablauf (genannt task) wird dann über einen trigger (z.b. alle 10 min ) aufgerufen (genannt profile)

        zum rumspielen hier der task allein zum import

        Telegram_Ping_IOB.tsk.xml

        und hier das ganze mit profile (es reicht das hier zu importieren)

        IOBrokerCheck.prf.xml

        sieht dann so aus:

        Image 111.png

        du musst das ganze (ip und api key und chatid) anpassen und evtl brauchst du auch den ein oder anderen task nicht

        hofffe, das hilft

        S 2 Replies Last reply Reply Quote 2
        • S
          simplyclever @liv-in-sky last edited by simplyclever

          Und hier das ganze mit Join:

          Zunächst habe ich ein globales JavaScript. Dazu muss man in den Expertenmodus bei Script, im Folder global dann ein Script anlegen:

          function sendGlobalJoin(deviceNames, title, sender, command, rest){

          // Build join message and send to deviceNames
          
          HttpMessage = getState("0_userdata.0.Join.Join_Url").val;
          HttpMessage += 'apikey=';
          HttpMessage += String(getState("0_userdata.0.Join.API_Key").val);
          HttpMessage += '&deviceNames=' + String(deviceNames);
          HttpMessage += '&title=' + String(title);
          HttpMessage += '&text=' + String('from=:=' + sender + '=:=' + command + '=:=' + rest);
          
            // Replace all " " with "+"
          HttpMessage = HttpMessage.replace(/ /ig, '+');
          
          // Send message
          try {
              require("request")(HttpMessage).on("error", function (e) {console.error(e);});
          } catch (e) { console.error(e); }
          
          console.log("*** GLOBALJOIN *** request: " + HttpMessage);
          console.log("*** GLOBALJOIN *** result:  " + String(getState("0_userdata.0.BlocklyTest.HttpResult").val));
          

          }

          Der Join API Key ist als Benutzer Datenpunkt definiert.
          Und JoinUrl=https://joinjoaomgcd.appspot.com/_ah/api/messaging/v1/sendPush?

          In Blockly Scripten kann man dann die globale Funktion benutzen.
          Dazu muss man im Blockly eine lokale JavaScript Funktion definieren die das globale Script aufruft:

          sendGlobalJoin(deviceNames, title, sender, command, rest);

          c079f268-29b4-47fd-b5cc-0eee1ee2b80a-image.png

          Und dann kann man die lokale Funktion in Blockly benutzen.
          Oben das Beispiel der stündlichen "Alive" Nachricht.
          Der Empfänger ist wieder ein Datenpunkt. Der Inhalt dieses muss dem Namen entsprechen, dem man in Join unter "This Device" definiert hat.

          In Tasker wird dann ein Profil angelegt mit:
          Event: Join Received Push
          Und in der Konfiguration dieses Events wird nur dieser Parameter geändert:
          Text -> Variable Names: From,Command,Rest

          In der Task die ausgeführt wird, wenn der Event getriggered wird, sind dann die Variable %from, %command und %rest schon definiert und können in der Logik benutzt werden.
          U.a. habe ich dort also:
          if %command = iobrokerAlive then
          ... %Alive_Iobroker = true
          ...

          Und eine andere Task setzt den Wert auf False und wenn nicht Innerhalb einer Stunde der Wert wieder True ist, gibt es eine Warnung.

          Hoffe, das war halbwegs verständlich und hilfreich?

          Der Console Log beinhalte den kompletten http request. Den kann man copy/paste im Browser eingeben um zu testen, ob es funktioniert.

          1 Reply Last reply Reply Quote 0
          • S
            simplyclever @liv-in-sky last edited by

            @liv-in-sky Nachfrage zu Telegram:
            Sehe ich das richtig, dass eine Telegram Bot Nachricht die per API (http request) erstellt wurde NICHT in iobroker ankommt?
            Ich habe den iobroker Telegram Adapter installiert. Wenn ich im Browser per API sendMessage ausführe kommt die Nachricht auf dem Handy in Telegram an.
            Aber leider nicht im Telegram Datenpunkt "request".
            Gebe ich im Bot aber direkt eine Nachricht ein, so wird der Datenpunkt in iobroker mit der Nachricht gesetzt.
            Mit anderen Worten: Ich kann von extern keine Telegram Nachricht direkt an iobroker schicken (über den Telegram Adapter) sondern muss auch hier über ein Android Device im lokalen Netzwerk mit Tasker gehen?

            bahnuhr liv-in-sky 2 Replies Last reply Reply Quote 0
            • bahnuhr
              bahnuhr Forum Testing Most Active @simplyclever last edited by

              @simplyclever sagte in Benachrichtigung, wenn iobroker nicht mehr erreichbar ist?:

              Gebe ich im Bot aber direkt eine Nachricht ein, so wird der Datenpunkt in iobroker mit der Nachricht gesetzt.
              Mit anderen Worten: Ich kann von extern keine Telegram Nachricht direkt an iobroker schicken (über den Telegram Adapter) sondern muss auch hier über ein Android Device im lokalen Netzwerk mit Tasker gehen?

              Widersprechen sich die beiden Aussagen nicht ?

              Fazit ist doch:
              Wenn du auf dem Handy in telegram etwas eingibst dann erscheint dies doch im DP request.
              Und darauf kannst du dann per Script, etc. reagieren.

              S 1 Reply Last reply Reply Quote 0
              • liv-in-sky
                liv-in-sky @simplyclever last edited by liv-in-sky

                @simplyclever sagte in Benachrichtigung, wenn iobroker nicht mehr erreichbar ist?:

                @liv-in-sky Nachfrage zu Telegram:
                Sehe ich das richtig, dass eine Telegram Bot Nachricht die per API (http request) erstellt wurde NICHT in iobroker ankommt?

                ja - es gab ja keinen request vom client, der hier ja die telegram instanz ist - es ist ja der tasker der requestet", der die meldung auch zurückbekommt

                wenn du mit einem z.b. buttons erzeugst - kommt die antwort, welcher button gedrückt ist zurück - so nutze ich das z.b. im postit script - dort werden postit's - erstellt in einem script - wie ein button angezeigt - wenn ich den button in der telgeram app drücke, bekomme ich eine antwort und lösche das postit aus telegram und meiner vis. in telegram sende erstelle ich ein neues postit mit dem text: "postit butter kaufen" - das kommt bei iob an und ich erstelle ein postit ! also man kann schon befehle von der app an iob senden.

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

                1 Reply Last reply Reply Quote 1
                • S
                  simplyclever @bahnuhr last edited by

                  @bahnuhr Ja, Nachrichten, die ich direkt in Telegram auf dem Handy eintippe erscheinen in iobroker. Wenn ich aber im Browser per API eine Nachricht sende, erscheint die in Telegram aber eben nicht in iobroker.

                  liv-in-sky 2 Replies Last reply Reply Quote 0
                  • liv-in-sky
                    liv-in-sky @simplyclever last edited by

                    @simplyclever da hast du recht - wenn du da was weiterverarbeiten willst, wird das wohl nicht funktionieren

                    du wolltest ja nur eine telegram benachrichtigung 😞

                    evtl ist es möglich, dass irgendwie zu erreichen - evtl muss man sowas wie ein forcereply nutzen - wenn du dir eine nachricht mit der api sendest und diese dann in der app beantwortest - langer click auf die nachricht - dann kommt das im iobroker an - also die nachricht
                    wenn man das automatisieren könnte, müßte es klappen, das du ein feedback zur api in iob siehst

                    1 Reply Last reply Reply Quote 0
                    • liv-in-sky
                      liv-in-sky @simplyclever last edited by

                      @simplyclever

                      was ich auf die schnelle hinbekomme:

                      https://api.telegram.org/bot98943xxxxxxxxxxxeO-E020b3bPXuw9gry0rc/sendMessage?chat_id=989yyyyy5&text=clickAnswersToDP&reply_markup={%22inline_keyboard%22:%20[[{%22text%22:%20%22hi%22,%20%22callback_data%22:%20%22hi%22}]]}
                      

                      erzeugt einen button im bot - wenn du den drückst, wird das in den instanz-dp angezeigt

                      ist nur im browser getestet - evtl muss man in tasker noch was ändern - kann ich erst später probieren

                      S 1 Reply Last reply Reply Quote 1
                      • S
                        simplyclever @liv-in-sky last edited by

                        @liv-in-sky Danke!.
                        Was ich gerne hätte, wäre von Tasker eine Nachricht per Telegram an iobroker zu schicken ohne weitere User Interaction. Das scheint nicht zu gehen. Ich habe ja eine Lösung via Join und Tablet im Heimnetz, aber ein direktes Interface wäre besser und man hätte auch ncoh Plan B, falls join aus irgendeinem Grund nicht funktioniert.

                        liv-in-sky 1 Reply Last reply Reply Quote 0
                        • liv-in-sky
                          liv-in-sky @simplyclever last edited by

                          @simplyclever

                          bei join ist es halt schwierig mit iobroker zu reagieren - ist eindimensional - hatte mal mit nodered was gemacht, dass ich auch in iob empfangen konnte - aber dasvertug sich nicht so richtig mit nodered-adapter

                          oder kann man das auch irgendwie abfragen - periodisch über api

                          S 1 Reply Last reply Reply Quote 0
                          • S
                            simplyclever @liv-in-sky last edited by simplyclever

                            @liv-in-sky Wie gesagt, ich mache das über ein Android Tablet (meine VIS).
                            Tasker auf dem Handy wird durch irgendwas getriggert, dann schickt Tasker eine entsprechende Join Nachricht an das Tablet zu Hause. Diese Nachricht triggered Tasker auf dem Tablet und je nach Nachricht werden dann verschiene Aktionen durchgeführt.
                            Z.B. Habe ich eine generische Nachricht auf dem Handy: command="SetDatapoint" und rest="<dp-name>:<dp-value>".
                            Das Tablet setzt dann den Datenpunkt 0.userdata.0.Join.<dp-name> auf den Wert <dp-value>.
                            Das mache ich wiederum mit Tasker auf dem Tablet per SimpleApi. (also ein http request im lokalen Heimnetz).
                            Die Änderung eines DP kann dann wie gewohnt in iobroker ein Script triggern.

                            Umgekehrt kann ich in einem iobroker Script per http request direkt eine Nachricht von iobroker an mein Handy schicken (ohne Umweg über das Tablet). Das habe ich oben im Post beschrieben.

                            bahnuhr 1 Reply Last reply Reply Quote 1
                            • bahnuhr
                              bahnuhr Forum Testing Most Active @simplyclever last edited by

                              @simplyclever
                              @liv-in-sky

                              So richtig verstanden hab ich nicht was ihr hier macht.

                              Wenn ich am Handy bin:
                              Eintrag in telegram; request wird erzeugt; reagiere per Script.

                              Wenn ich am Tablet bin:
                              DP direkt per vis ändern.

                              Wofür braucht man dieses join ?
                              Warum will man vom Tablet über tasker dann wieder zurück nach Hause was senden ?
                              versteh ich nicht !

                              S 1 Reply Last reply Reply Quote 0
                              • liv-in-sky
                                liv-in-sky last edited by

                                wenn du bestimmte Meldung bekommst kannst du mir einer Antwort zb den Server neu starten
                                Oder ähnliches

                                1 Reply Last reply Reply Quote 0
                                • S
                                  simplyclever @bahnuhr last edited by simplyclever

                                  @bahnuhr Was ich hier mache:
                                  Join verbindet Devices (Nachrichten senden, Standort Abfragen, Screenshot remote aufnehmen usw.). Das funktioniert in Android und auch im Browser (und noch mehr).
                                  Das ganze funktioniert Remote auch wenn man nicht im Heimnetz ist.
                                  Damit kann man also auch von unterwegs Aktionen in iobroker auslösen, bzw. von iobroker informationen zum Handy bekommen.
                                  Ich weiss, für die Remote Verbindung gibt es auch andere Lösungen. Join ist halt super einfach und in Verbindung mit Tasker einfach genial.

                                  Nur ein paar Beispiele die ich für mich implementiert habe:

                                  Von iobroker ans Handy:

                                  • Tür/Fenster wird geöffnet bei Status "Alarm Enabled". Also z.b. wenn wir in Urlaub sind.
                                    Ähnllich wenn ein Bewegungsmelder anspringt.
                                  • Information wenn Raspi rebootet
                                  • Info wenn Filesystem auf Pi vollläuft.
                                  • Batteriestand von Geräten (z.B. Heizung Thermostat) ist unter definiertem Threshold

                                  Beispiele von Handy (via Tablet zu Hause) an iobroker:

                                  • Handy verbindet sich mit Android Auto -> Aktion: iobroker loggt Daten über den Auto Adapter und speichert diese u.a. in einer Google Tabelle
                                  • Ich geh joggen -> Alle x Sekunden wird mein Standort nach Hause gefunkt und meine Frau kann auf einer Karte im VIS sehen, wo ich bin (nutzt influxDB und Grafana)
                                  • Auf Knopfdruck und Eingabe einer Pin wird die Haustür geöffnet (ohne iobroker, das geht nur über den Raspi und ein Script für mein Smartlock. Das Script wird vom Tablet per SSH gestartet).

                                  All das mit Tasker/Join zu einem grossteil halb/voll automatisch. Z.B. Das Jogging Profil startet sobald ich meine BT Kopfhörer benutze. Oder obiges verbinden mit Android Auto triggered die nötigen Aktionen.

                                  Edit:
                                  Per Telegram kann man natürlich dann auch vieles Steuern, aber mir geht es um die Automatisierung, und das geht mit Tasker. Und dazu halt alles von überall. Mein Tablet dient fast nur zur Visualisiereung.

                                  bahnuhr 1 Reply Last reply Reply Quote 0
                                  • bahnuhr
                                    bahnuhr Forum Testing Most Active @simplyclever last edited by

                                    @simplyclever sagte in Benachrichtigung, wenn iobroker nicht mehr erreichbar ist?:

                                    Von iobroker ans Handy:

                                    Tür/Fenster wird geöffnet bei Status "Alarm Enabled". Also z.b. wenn wir in Urlaub sind.
                                    Ähnllich wenn ein Bewegungsmelder anspringt.
                                    Information wenn Raspi rebootet
                                    Info wenn Filesystem auf Pi vollläuft.
                                    Batteriestand von Geräten (z.B. Heizung Thermostat) ist unter definiertem Threshold

                                    mach ich mit einer normalen telegram meldung

                                    @simplyclever sagte in Benachrichtigung, wenn iobroker nicht mehr erreichbar ist?:

                                    Handy verbindet sich mit Android Auto -> Aktion: iobroker loggt Daten über den Auto Adapter und speichert diese u.a. in einer Google Tabelle
                                    Ich geh joggen -> Alle x Sekunden wird mein Standort nach Hause gefunkt und meine Frau kann auf einer Karte im VIS sehen, wo ich bin (nutzt influxDB und Grafana)
                                    Auf Knopfdruck und Eingabe einer Pin wird die Haustür geöffnet (ohne iobroker, das geht nur über den Raspi und ein Script für mein Smartlock. Das Script wird vom Tablet per SSH gestartet).

                                    mach ich mit iob.pro und simple api; da brauchst du nicht einmal vpn

                                    @simplyclever sagte in Benachrichtigung, wenn iobroker nicht mehr erreichbar ist?:

                                    Das Jogging Profil startet sobald ich meine BT Kopfhörer benutze.

                                    Das geht mit tasker, also auch kein join

                                    Ich mach auch alles von überall:
                                    entweder mit

                                    • iob.pro und simple api
                                    • oder mit fip-box
                                    • oder mit vpn

                                    Aber alles gut; wenn man dieses join brauch.
                                    Ich brauch es nicht. Nur wieder ein zusätzliches Programm.

                                    1 Reply Last reply Reply Quote 0
                                    • David G.
                                      David G. @Dan_Ce last edited by David G.

                                      @dan_ce

                                      Die Frage habe ich mir in der Tat auch neulich gestellt.

                                      Hab es mit Tasker gelöst. Schaue einfach ob ich den iobroker über iot erreichen kann.

                                      Solange iot klappt, ist das denke recht zuverlässig.
                                      Hab es seit ca einer Woche ohne Fehlalarme am laufen.

                                      Screenshot_20220927-194337_Tasker.jpg

                                      Edit:
                                      Ggf ist es schlau, vorher noch zu prüfen ob das Handy online ist.
                                      Baue ich mal noch ein.

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

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate
                                      FAQ Cloud / IOT
                                      HowTo: Node.js-Update
                                      HowTo: Backup/Restore
                                      Downloads
                                      BLOG

                                      556
                                      Online

                                      31.9k
                                      Users

                                      80.1k
                                      Topics

                                      1.3m
                                      Posts

                                      9
                                      32
                                      1988
                                      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