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 @liv-in-sky last edited by

      @liv-in-sky Danke. Das würde dann aber z.B. bei einem Stromausfall nicht funktionieren, deshalb suche ich nach einer externen Lösung.
      Z.B. irgendein Service, mit dem der Rechner des Iobrokers (Raspberry Pi4) sich verbindet und bei dem eine Benachrichtigung bei Verbindungsverlust möglich ist. (Dann hätte ich allerdings nur die Verfügbarkeit des Rechners, nicht der IOB-Software.)
      Besser wäre, wenn ich aus dem iob ein Skript starte, dessen Ergebnis regelmäßig abgefragt wird (Ping oder besser Übergabe eines regelmäßig erstellten Datenpunktes).

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

        @dan_ce wenn de strom ausfällt ? hast du deine fritzbox an einer usv ? sonst kann auch ein externer service nicht helfen.

        dann müßtest du ein altes handy mit karte nutzen, welches dann ohne wifi senden kann - damit kannst du dann richtig analysieren, ob die fritzbox aus ist oder der iob server usw

        von extern bedeutet - wenn fritzbox weg ist - ist iobserver down -was nicht unbedingt stimmen muss 🙂

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

          @liv-in-sky mit externem Service meine ich, das auch die Benachrichtigung von eben diesem kommt. Wenn also der iob nicht mehr erreichbar ist (abgeschmiert oder Strom weg) soll dieser eine Nachricht senden.

          Vielleicht gibt es sowas ja z.b. zur Server oder Website- Überwachung?
          Ich habe leider nichts gefunden.

          ? 1 Reply Last reply Reply Quote 0
          • ?
            A Former User @Dan_Ce last edited by A Former User

            @dan_ce guck dir mal „uptime Kuma“. Diesen installierst du in ein docker Container und der macht genau das was du möchtest. Überwacht die Geräte/Adressen und sendet eine Nachricht über deinen gewünschten Dienst.
            Überwache damit auch Geräte im Netzwerk und die Internet Verfügbarkeit. Aber wie die anderen schon geschrieben haben, wenn dein Internet komplett ausfällt oder Strom komplett weg ist, bringt dir das auch nur bedingt was…

            97391A17-07CC-4F09-A191-799603ACA737.jpeg
            4B40C990-1E86-4C50-96B3-95F8B0833424.jpeg

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

              @liv-in-sky said in Benachrichtigung, wenn iobroker nicht mehr erreichbar ist?:

              von extern bedeutet - wenn fritzbox weg ist - ist iobserver down -was nicht unbedingt stimmen muss 🙂

              Sorry, diesen Punkt habe ich gerade erst verstanden 😉 ich wüsste nur, das der iob nicht mehr erreichbar wäre - nicht ob er noch läuft. Ich glaube dass würde mir aber schonmal reichen. So wüsste ich immerhin, das was nicht stimmt.

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

                @dan_ce

                Na ja - an sich solltest du deinen iob aus Sicherheitsgründen von außerhalb NICHT direkt erreichbar haben. Port-Forwarding an deiner Fritzbox od. deinem Router ist ein potenzielles Sicherheitsproblem.:

                https://forum.iobroker.net/topic/50895/sicherheitshinweis-portfreigaben-sind-auch-2022-gefährlich

                Nur ohne Zugriff wird kein echt externes System da irgendwas feststellen können.

                S 1 Reply Last reply Reply Quote 1
                • W
                  Wildbill @Dan_Ce last edited by

                  @dan_ce Wenn der iobroker nicht mehr läuft, dann sollte das einen Grund haben. Im Normalfall steigt da nichts einfach so aus. Meine Server laufen problemlos über Monate, es werden regelmäßig Updates eingespielt und von mir mal nach dem rechten geschaut. Ohne Grund passiert da nix. Wenn also Dein iobroker immer wieder aussteigt, so solltest Du DEM nachgehen. Wenn er es nicht macht, dann verlass Dich drauf. Ohne Hardware-Probleme läuft so ein auf Linux aufgesetzter Server einfach problemlos. Ist ja kein Windows. 😊

                  Und ja, iobroker oder andere Rechner extra dafür von außen zugänglich machen ist ein no-go. Schaff Dir eine USV an, die Rechner bei Stromausfall sauber runterfährt, mach das manuell auch immer sauber per Befehl und nie einfach Strom weg. Die USV puffert auch lang genug, um Dir noch eine Mitteilung zu schicken, dass der Strom weg ist, zur Not auch einen zweiten Rechner, der iobroker intern überwacht. Router und so muss dann natürlich auch mit an die USV.

                  Gruss, Jürgen

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

                    So ganz habe ich nicht verstanden, was und wie Zeitnah eine Benachrichtigung gewollt ist.
                    Wenn iobroker läuft, aber die Fritzbox nicht mehr, ist mein SmartHome auch zu >50% nicht mehr funktionsfähig.

                    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.
                    Zudem habe ich ein Widget, das den entsprechenden Status per grünem oder rotem Häckchen anzeigt.

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

                      @liv-in-sky könntest du dies etwas mehr beschreiben? Ich würde gerne lokal meinen Proxmox Server anpingen und im Fall der Fälle eine benachrigung via Tasker irgendwie versenden, vielleicht über Telegram ?

                      liv-in-sky 2 Replies Last reply Reply Quote 0
                      • 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
                                            • First post
                                              Last post

                                            Support us

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

                                            941
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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