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.
    • D
      Dan_Ce last edited by

      Danke für die Antworten. Tatsächlich läuft das System stabil und es gibt keinen echten Anlass für meinen Wunsch.
      Ich will den iobroker auch keinesfalls von außen öffnen. Aktuell nutze ich für Zugriffe von außen Tailscale, welches auf dem Pi installiert ist. Damit habe ich einen komfortablen und sicheren Zugriff auf iobroker.
      Den Hinweis mit Tasker werde ich mir Mal genauer ansehen, das passt ziemlich gut zu dem, was ich mir wünsche.

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

      So ähnlich wie liv-in-sky das angeregt hat, habe ich es bei mir implementiert:
      Mittels iobroker script schicke ich mir 1x pro Stunde eine Nachricht an Tasker/Join an mein Handy. Auf dem Handy prüft Tasker entsprechend 1x pro Stunde, ob das Lebenszeichen angekommen ist, und wenn nicht wird eine Benachrichtigung auf dem Handy angezeigt.

      Wie sieht denn das Skript aus? Womit versendest du die Nachrichten?

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

        @dan_ce Es gibt vom Tasker Developer die App Join, die mit Tasker super interagiert. Das ganze funktioniert allerdings nur mit Android. Jedes Device auf dem Join installiert ist registriert sich über den gleichen Google Account.

        Mittles der Join App können die Devices dann miteinander kommunizieren.
        Z.B. Kann man per Join App den Standort eines Devices abfragen, einen Screenshot auf einem Remote Device erstellen und angezeigt bekommen, usw. Das Ganze geht dann auch per Tasker.

        Auf der Web Oberfläche von Join kann man einen eindeutigken Key angezeigt bekommen und kann http requests erstellen. Das benutze ich in einem Script, das einen http request erstellt und damit eine Nachricht an mein Handy schickt. Diese Nachricht triggered auf dem Handy ein Script in Tasker.

        Umgekehrt schicke ich Tasker/Join Nachrichten von meinem Handy an mein Tablet (das die VIS darstellt) und auf dem Tablet triggered das auch wieder Tasker und kann per SMTP Datenpunkte in iobroker ändern und damit Aktionen triggern.

        Als Einstieg die Join Seiten lesen, Youtube gucken, und die Api: https://joaoapps.com/join/api/

        D 1 Reply Last reply Reply Quote 1
        • D
          Dan_Ce @simplyclever last edited by

          @simplyclever Klasse, danke! Werde ich mir mal näher ansehen.

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

            @dan_ce Gern. Ich kann bei Fragen gerne helfen und auch Code hier posten. Bin nur gerade unterwegs.
            Als Tipp: Wenn man Daten in Join Http definiert gibt es den speziellen String "=:=". Damit kann man später in Tasker super einfach die verschiedenen Datenfelder in Variablen zerlegen.
            Im iobroker Script nutze ich das. Z.B. habe ich dort ein Datenfeld "command". Im Tasker Script gibt es dann eine If/Else If/... Konstrukt, dass "command" prüft und dann unterschiedliche Aktionen ausführt.
            Das "Alive" 1x pro Stunde ist nur ein Anwendungsfall. Anderer Fall bei mir ist z.B. die Benachrichtigung wenn eine Tür im Haus geöffnet wurde obwohl niemand zu Hause sein sollte. Die Möglichkeiten sind nahezu unbegrenzt und der Phantasie überlassen.

            1 Reply Last reply Reply Quote 0
            • 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
                                            • First post
                                              Last post

                                            Support us

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

                                            921
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

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