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 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
                                    • 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
                                            • First post
                                              Last post

                                            Support us

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

                                            422
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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