Posts by Ralph

    Grundsätzlich bestimmt.

    Es kommt aber wirklich auf den Versuch an.

    Ich habe zum Beispiel eine D-Link 935L (für innen) seit 10 Jahren im Aussenbereich meines Eingangs hängen....läuft problemlos...Sommer wie Winter.....es regnet nur nicht hin....

    Meiner Meinung nach gibt es derzeit wichtigere Baustellen (Stichwort USB-Sicherung / Wiederherstellung der Konfiguration, Einbinden von Geräten ohne Cloud usw.)


    Das hier beschriebene Problem ist m. E. eine Sache, die nur einen kleinen Bruchteil der Anwender betrifft. Als Lösung könnte ich hierfür noch anführen, dass man auch DHCP mit einem Windows-Server verwenden könnte. Dort kann man dann ebenfalls eine Reservierung vergeben, die dazu führt, dass der SHC immer die gleiche IP erhält…unabhängig davon, welche „Box“ gerade angeschlossen ist.


    Gruß Ralph

    Also ich verwende Rules-DSL mit Visual-Studio Code und der OpenHAB-Extension. Bisher gab es nichts, was ich damit nicht programmieren konnte.


    Das OH-Forum ist voll mit Beispielen und die Dokumentation ist meines Erachtens verständlich und übersichtlich.

    Hallo,


    Dein Vorschlag mit dem LogReader ist grundsätzlich gut.

    Allerdings setzt das korrekte Funktionieren Deines Szenarios voraus, dass Deine lokale OpenHAB-Instanz merken muss, dass die Verbindung zur Cloud weg ist. Denn ohne das, kann kein Log-Eintrag erzeugt werden und ohne Log-Eintrag kann das vom Log-Reader-Binding auch nicht entsprechend ausgewertet werden.


    In der Praxis ist es jedoch häufig so, dass Dein lokales OpenHAB gar nicht "merkt", dass es ein Problem gibt.

    Deshalb hat sich eine andere Vorgehensweise als besser herausgestellt.


    Diese habe ich in folgendem Thread beschrieben:


    OpenHab: System reboot, Neustart OH, Neustart einzelner Bindings von der Benutzeroberfläche aus - Seite 2 - OpenHab - LIVISI Community


    Für diese Methode ist auch kein Binding oder sonst etwas erforderlich.


    Gruß Ralph

    Moin,

    Ralph womit hast Du das umgesetzt bzw. was verwendest Du als Trigger bzw. Was genau überwachst Du? Magst du den Code preisgeben?


    LG Manuel

    Aber klar :)


    Mein WatchDog sieht so aus:


    Items:

    String   OpenHABCloud_WatchDog        "OpenHAB-Cloud WatchDog"


    Rule:


    rule "OpenHABCloud WatchDog"

    when
        Time cron "20 0/15 * * * ?" // Alle 15 Minuten (auf die 20er Sekunde)
    then
        //Dem WatchDog-Item wird ein Zufallswert zugewiesen
    logInfo( "OpenHABCloud", "OpenHAB-Cloud WatchDog: Start")
        var rnd = (Math.random() +1).toString
        OpenHABCloud_WatchDog.postUpdate(rnd)
    Thread::sleep(3000)
       
        //Jetzt wird der eben gesetzte Wert über die Cloud abgerufen
        val headers = newHashMap("Authorization" -> "Basic xxxxxxx")
        var response = sendHttpGetRequest('https://myopenhab.org/rest/items/OpenHABCloud_WatchDog/state', headers, 3000);
       
        if (response == rnd)
    {
    logInfo( "OpenHABCloud", "OpenHAB-Cloud WatchDog: Der Wert ist korrekt - alles in Ordnung")
    }
        else
    {
    logInfo( "OpenHABCloud", "OpenHAB-Cloud WatchDog: Der Wert ist falsch korrekt - Verbindung wird zurückgesetzt")
            val mailActions = getActions("mail","mail:smtp:srv1")
            mailActions.sendMail("egal-wer@egal-wo.de", "OpenHAB-Cloud", "Achtung: Der WatchDog hat einen Fehler gemeldet. Binding wird neu gestartet.")

    Binding_Restart_OpenHABCloud.sendCommand(ON)


    }
    logInfo( "OpenHABCloud", "OpenHAB-Cloud WatchDog: Ende")

    end


    Erklärung:

    Die Rule setzt in regelmäßigen Abständen ein String-Item auf einen Zufallswert.

    Dann wird kurz gewartet und geprüft, ob dieser Wert in der OpenHABCloud angekommen ist. Dazu wird dieser (zwingend) über die REST-API der Cloud-Instanz abgerufen. Wenn der Wert mit dem lokalen Wert übereinstimmt, dann ist alles gut, wenn nicht, dann wird das OpenHABCloud-Binding neu gestartet.....(das ist eine andere Rule)


    Damit der Aufruf über die REST-API funktioniert müssen die Anmelde-Header entsprechend BASE64-codiert übergeben werden....dafür gibt es jede Menge Online-Generatoren....(z. B hier)


    Gruß Ralph

    Also nach meiner Erfahrung ist der Neustart des ganzen OpenHAB so gut wie nie notwendig.

    Wenn es Probleme mit einem Binding gibt, reicht es eigentlich immer, dies neu zu starten.


    Wenn es Probleme mit der OpenHAB-Cloud gibt (was in letzter Zeit leider öfter passiert), dann reicht es ebenfalls das entsprechende Binding neu zu starten.


    Das mache ich z. B. mit einem Putty-Script, den ich über eine OpenHAB-Rule aufrufe und der folgenden Befehl absetzt:


    bundle:restart 'openHAB Add-ons :: Bundles :: IO :: openHAB Cloud Connector'


    Danach war bei mir immer wieder alles am Start.


    Mittlerweile überwache ich die Connection zur OpenHAB-Cloud über einen kleinen WatchDog, der selbst erkennt, wenn die Verbindung nicht mehr steht und dann das Binding automatisch neu startet....


    Gruß Ralph

    Hallo zusammen,


    ich hatte jetzt schon mehrfach folgendes Phänomen:


    - Ein Bewegungsmelder (innen) meldet, dass seine Batterien schwach sind

    - Daraufhin wechsle ich diese gegen neue Batterien aus. Allerdings verschwindet nach dem Batteriewechsel die Meldung "Batterie schwach" nicht.

    - Auch ein Werksreset des Gerätes mit anschließendem Wiedereinbinden bringt nichts


    - Nur wenn ich das Gerät komplett aus meiner Konfiguration lösche und es anschließend erneut einbinde, ist die Meldung weg.


    Danach muss man leider alle betroffenen Szenarien, in denen das Gerät enthalten war, wieder entsprechend überarbeiten.


    Kenn das Problem jemand?

    Kann man das reproduzieren?


    Vielleicht ist hier noch ein Bug versteckt, der die Meldung nicht korrekt aus der Zentrale löscht....

    Bisher ist mir das nur bei Bewegungsmeldern passiert.....bei anderen Batteriegeräten noch nie....


    Gruß Ralph

    :) Danke.

    Entnehme dem, dass DSL wohl besser ist als Java. :thumbup:


    vielen Dank!

    Frank

    Das ist Ansichtssache.

    Die Java-Script-Implementierung in OpenHAB kam erst vor einem Jahr dazu.

    Es gab auch mal Verlautbarungen, dass die DSL-Rules abgeschafft werden sollen....davon habe ich dann aber später nichts mehr gehört.....hat wohl zu großen Unmut in der Community verursacht.....


    Ich persönlich komme mit der DSL-Sprache eigentlich sehr gut klar.

    Ich definiere eigentlich alles über die textuale Konfiguration. Things, Items, Icons, Rules....alles.


    Das hat den riesen Vorteil, dass man bei einer Umstellung schnell mit "Suchen und Ersetzen" arbeiten kann und ich finde es auch übersichtlicher.


    Desweiteren kann ich jederzeit ein neues nacktes OpenHAB installieren und einfach den Conf-Ordner hineinkopieren.....dann ist wieder alles da.... (bis auf ganz wenige Ausnahmen....)


    Aber auch hier scheiden sich die Geister....


    Gruß Ralph

    Also mit den Mails aus OpenHAB kann ich helfen:


    1. Ihr installiert Euch das Mail-Binding
    2. Ihr erstellt ein Thing vom Typ 'Postausgang-Server (SMTP)'
    3. Die Parameter für das Thing müsstet ihr je nach dem eingeben, wer Euer Mail-Provider ist.
      (Google, Microsoft 365, Web.de - oder was auch immer)
    4. Ihr erstellt eine Rule, die bei einem bestimmten Ereignis eine Mail versendet:

      Diese könnte z. B. in einfachster Form so aussehen:

      rule "Benachrichtigung Bewässerung"
      when        
          
      Item Bewaesserung changed to ON    
      then        
          val mailActions = getActions("mail","mail:smtp:server")
          
      mailActions.sendMail("peter@egalwo.de", "Achtung", "Die Bewässerung wurde aktiviert")
      end

    Wobei "mail:smtp:server" der Begriff ist, den ihr bei der Anlage des Things vergeben habt.


    Funktioniert Bombe!


    Gruß Ralph