Ankündigung

Einklappen
Keine Ankündigung bisher.

Rules funktionieren nach syntaktisch korrekter Änderung nicht mehr

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Rules funktionieren nach syntaktisch korrekter Änderung nicht mehr

    N'abend allerseits!

    Ich werde gerade waaaaaaaahnsinnig mit einer super einfachen Rule, die urplötzlich nicht mehr tut, was sie soll. Und ich vermute hier irgend einen OH-Bug.

    Es geht um das Tag/Nacht-Verhalten unserer Badbeleuchtung. An sich alles gut, alles bewährt, funktioniert wies soll.

    Folgendes Phänomen tritt nun aber plötzlich auf: Nach einem frischen Neustart von OH2.2 ist alles bestens, die Rule arbeitet korrekt. Sobald ich dann aber per VS Code eine Änderung vornehme - in diesem Fall nur den zu sendenden Helligkeitswert bei Tag - tut die Rule ÜBERHAUPT nicht mehr. Beim Speichern zeigt VS Code "Configuration model 'beleuchtung.rules' is either empty or cannot be parsed correctly!", an der Syntax ist aber nichts falsch:

    Code:
    rule "Licht Bad"
    when
      Item Licht_OG_Bad_Decke_SW changed
    then
      if(Licht_OG_Bad_Decke_SW.state == ON) {
        var Number hour = now.getHourOfDay
        if( hour >22 || hour <6 ) {
          // lass es, wie es ist
          logInfo("Bad", "Abend " + hour)
        } else {
          // mach es heller
          Licht_OG_Bad_Decke.sendCommand(70)
          logInfo("Bad", "Tag " + hour)
        }
      }
    end
    Mehr noch: Ich muss nicht einmal etwas an der Rule geändert haben. Sobald ich die Datei mit VS Code auch nur einmal GEÖFFNET habe, funktioniert die Rule nicht mehr. Die Logeinträge werden nicht mehr geschrieben, es ist, als existiere die rule überhaupt nicht mehr.

    Ich hab auch schon mal mit dem nano reingeschaut um sicherzugehen, dass da nicht irgendwo NPC sind, die stören, aber alles im grünen Bereich. Beim initialen Laden der Rules beim Neustart zeigt das Log auch keinerlei Auffälligkeiten. Mehr als

    Code:
    [INFO ] [del.core.internal.ModelRepositoryImpl] - Loading model 'beleuchtung.rules'
    wird nicht ausgegeben.

    Ist das irgendein bekanntes Problem, dem man mit einer Anpassung beikommen kann?

    #2
    Die Fehlermeldung kommt aber nicht von VS Code, sondern von openHAB, oder? Dieses "empty or cannot be pased" kenne ich als "normale" Fehlermeldung wenn man eine dynamisch geladene Datei über Samba ändert - dann klappt der Zugriff für openHAB kurzfristig nicht mehr. Eigentlich sollte openHAB dann aber in einem 2. Durchlauf die Datei korrekt laden.

    Welche Version von openHAB setzt Du denn ein? Hast Du mal den Rechner, auf dem openHAB läuft komplett neu gestartet?

    Kommentar


      #3
      Ja, sorry... ich nutze im VS Code das Terminal unterhalb des Editors mit der Karaf-Konsole und lasse dort log:tail laufen, sodass ich beim Speichern der Rules direkt sehe, ob beim Parsen Probleme auftreten.

      Ich bin auf der letzten stabilen Version, also 2.2.

      Komplettes durchstarten versuche ich im Lauf des Tages mal.

      Ich hatte hier schonmal was davon gelesen, dass jemand seine Rules bei jedem OH-Restart einmal touch'en musste. Gibt es diesen Bug noch?

      Kommentar


        #4
        So, nach einem Reboot hat die Rule einmal funktioniert, nun geht es schon nicht mehr. Ohne, dass ich irgendwie Hand an die Rule gelegt hätte.

        Es ist auch nicht nur diese Rule, die nicht mehr funktioniert, auch meine anderen Rules, die ich überhaupt nicht geändert, geschweigedenn geöffnet hätte, scheinen einfach nicht mehr zu existieren (z.B. Umsetzung Sonos / Gruppenadressen / Taster).

        Ich bin leider komplett ratlos, was hier plötzlich los ist... die Logs geben auch nichts her bzw. sehen anders aus als sonst.

        Kommentar


          #5
          Das klingt dann aber mehr danach, als wäre an anderer Stelle irgendwas kaputt. Leider ist es etwas schwierig, das an den Symptomen einzugrenzen. Kann es sein, dass Du in den letzten Tagen vorher (also vor dem Versuch, die Rule zu ändern) irgendwas gemacht hast?

          Deine Formulierung:
          Zitat von ponG Beitrag anzeigen
          auch meine anderen Rules, die ich überhaupt nicht geändert, geschweigedenn geöffnet hätte,
          Ich interpretiere da rein, dass diese Rules in anderen Dateien liegen.
          Die einfachste Variante wäre wohl, ein Backup zu machen (Backup Script wird in OH2.2 mitgeliefert), openHAB komplett zu entfernen (mit Option purge), anschließend neu zu installieren und die Konfiguration zurück zu spielen. Das Blöde dabei ist, dass es ja durchaus sein kann, dass der Fehler mit im Backup landet und wieder im System landet, wenn Du das Backup zurück spielst. Wenn das der Fall wäre, müsstest Du das Backup Stück für Stück zurückspielen und Things teilweise von Hand wiederherstellen, um sicherzustellen, dass keine kaputte Konfiguration zurückgespielt wird.

          Kommentar


            #6
            Es funktioniert wieder alles!

            Einmal /var/log/openhab2 geleert, openhab restarted und alles war wieder in Butter.

            Sachen gibt’s... das werde ich mal automatisieren.

            Kommentar


              #7
              Hmm... Normalerweise sollte openHAB die logs rotieren. 10 Files mit je 15MByte für openhab.log und events.log, also maximal 300MByte. Immer vorausgesetzt, die default Einstellungen wurden nicht geändert, natürlich.

              Kommentar


                #8
                An den Einstellungen habe ich nichts gemacht. Es gab events.log bis events.log.9 und das gleiche nochmal für openhab.log. Das mit den Größen von 15MB kam auch in etwa hin, wenn ich mich recht erinnere.

                Betrieben wird das ganze am BananaPi mit SSD, kann das ein Architekturthema sein?

                Wo finde ich die Einstellungen dazu?

                Kommentar


                  #9
                  Korrigiere: Nun ist die Problematik wieder da...

                  Ich vermute das Problem allerdings mittlerweile nicht mehr zwangsweise innerhalb openHAB, denn mein VPN-Server, der ebenfalls auf dem BPi läuft, ist auch nicht mehr ansprechbar... ich muss mich jetzt mal allgemein mit System- und Performancemonitoring bei den Pi's auseinandersetzen.

                  Kommentar


                    #10
                    Ggf. ist deine SD Karte geschrottet.
                    Klone sie mal und ersetze sie durch eine neue.

                    Kommentar


                      #11
                      So, ein paar Tage, Tests und eine Dienstreise später...

                      Probleme bestehen nach wie vor. Was habe ich in der Zwischenzeit gemacht? SD-Karte geklont und getauscht, beide SD-Karten am Mac komplett auf Fehler geprüft -> beide i.O.

                      Nach Reboot des Pi's läuft die ganze Sache auch erstmal, aber dann - ohne jedes Zutun - funktionieren die rules plötzlich nicht mehr.

                      Daraufhin habe ich den Zeitraum, in dem die Rules ca begonnen haben ihren Dienst zu versagen, komplett in den Logs durchforstet, events.log wie auch openhab.log. Ich konnte aber keinerlei Auffälligkeiten feststellen. In der events.log war gar nichts, was irgendwie außergewöhnlich aussah, in der openhab.log nur ein paarmal die bekannte Jetty-Request-Warnmeldung...

                      Ich weiß langsam nicht mehr weiter

                      Kommentar


                        #12
                        Nur mal zur Sicherheit: Welche Java-Version verwendest du? Ist Java8 bei Dir, oder?
                        Edit:
                        Und noch ne Frage: Du hast einen BPi mit SSD. Wie sieht es aus mit der Stromversorgung? Eigene Spannungsverdorgung für die SSD?
                        Zuletzt geändert von misa; 01.02.2018, 23:31.

                        Kommentar


                          #13
                          Ja, der BPi läuft mit SSD, die SSD wird versorgt über den entspechenden Abgang am Pi, mit solch einem Kabel: https://www.amazon.de/Banana-SATA-Fe...=banana+pi+ssd

                          Java-Version ist 1.8.0_161
                          Zuletzt geändert von ponG; 02.02.2018, 08:30.

                          Kommentar


                            #14
                            Ich bin kein BPi Experte. Allerdings kann es zu komischen Fehlern kommen, wenn der Pi mit zu wenig Strom versorgt wird. Daher wird geraten, eine externe SSD ggf. über ein separates Netzteil zu versorgen.

                            Kommentar


                              #15
                              Ich werde mal versuchen, den Pi nochmal nur mit SD zu betreiben... mal sehen, ob die Probleme dann noch auftreten...

                              Kommentar

                              Lädt...
                              X