OH3 Rule mit Fehlermeldung ON/OFF mit Rollershutter

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Benutzeravatar
Detlef
Beiträge: 190
Registriert: 11. Dez 2019 21:50
Answers: 1
Wohnort: Recklinghausen
Kontaktdaten:

OH3 Rule mit Fehlermeldung ON/OFF mit Rollershutter

Beitrag von Detlef »

Hallo brauche ein wenig Hielfe. Der erste Fehler von 2
beim Umstieg von OH2.5 auf 3.1. macht eine Rules ärger.

Alle Rollos funktionieren mit ein ON/OFF Befehl und sind in einer Gruppe.

Die Rules die unter OH 2.5 funktionierte macht unter OH3 ärger

Code: Alles auswählen

if(!(receivedCommand instanceof Number))                                         // received command is not a number
        switch receivedCommand {                                                     // decide dependend on received command
            case UP : triggeringItem.sendCommand(OFF)                                  // command is UP, so send 0
            case DOWN : triggeringItem.sendCommand(ON)                              // command  is DOWN, so send 100
            default : logWarn("shutter","Command {} not supported!",receivedCommand) // any other command will cause a warn log
        }                                                                            // end of switch block
    else                                                                             // command is a number
        logInfo("shutter","received Number {}, doing nothing!",receivedCommand)      // log an info that the command was a number
Hier die Fehlermeldung (LOG)
2021-01-27 07:49:44.716 [WARN ] [rg.openhab.core.model.script.shutter] - Command OFF not supported!

2021-01-27 07:49:44.718 [ERROR] [ernal.handler.ScriptConditionHandler] - Script did not return a boolean value, but 'null'

Kann bitte mal einer helfen. Danke.
Also die Rollo fahren auf und zu.
Mit freundlichen Grüße aus Recklinghausen

harteknut
Beiträge: 235
Registriert: 3. Dez 2019 08:21
Answers: 9

Re: OH3 Rule mit Fehlermeldung ON/OFF mit Rollershutter

Beitrag von harteknut »

Erkläre doch mal Dein Problem nochmal, ich verstehe es nicht:
Du sagst, Deine Rollos funktionieren mit einem ON/OFF-Befehl (und sie fahren auch wie gewünscht).
Deine if-Abfrage fängt aber jeden Befehl ab, der nicht UP/DOWN heißt und gibt die Warnung raus.
Wie ist denn Deine Erwartungshaltung?

Benutzeravatar
Detlef
Beiträge: 190
Registriert: 11. Dez 2019 21:50
Answers: 1
Wohnort: Recklinghausen
Kontaktdaten:

Re: OH3 Rule mit Fehlermeldung ON/OFF mit Rollershutter

Beitrag von Detlef »

Hallo

Danke
es hat sich erledigt. Ich habe 3 Tage alles in der " if-Anweisung gehabt" und nichts bemerkt.

SORRY
aber Danke nochmals.
Zuletzt geändert von Detlef am 27. Jan 2021 15:41, insgesamt 2-mal geändert.
Mit freundlichen Grüße aus Recklinghausen

harteknut
Beiträge: 235
Registriert: 3. Dez 2019 08:21
Answers: 9

Re: OH3 Rule mit Fehlermeldung ON/OFF mit Rollershutter

Beitrag von harteknut »

OK, ich habs (glaub ich) verstanden:
Die Rule ist dazu da, um die Kommandos "UP" und "DOWN" in "ON" und "OFF" umzuwandeln, weil Deine Geräte diese Kommandos erwarten / benötigen.
Gut.
Jetzt schein es in OH so zu sein, dass da, wo bislang "UP" / "DOWN" gesendet wurde inzwischen "ON" / "OFF" rauskommt, jedenfalls empfängt die RULE in Deinem Beispiel oben das Kommando "OFF". Das heißt, der Kommandogeber hat sich verändert, nicht der Empfänger.

Als Resultat vermute ich:
1) Du brauchst die Rule gar nicht mehr und kannst sie entfernen (könntest sie ja testweise mal auskommentieren).
2) Wenn es immer noch aus verschiedenen Richtungen mal "ON" / "OFF" und mal "UP" / "DOWN" gibt, könntest Du alternativ einfach so erweitern:

Code: Alles auswählen

rule "control shutter Schalter freigeben"                                                              
when                                                                                 // list of triggers
    Member of gShutter received command                                              // a member of the group received a command
then                                                                                 // what to do
    if(!(receivedCommand instanceof Number))                                         // received command is not a number
        switch receivedCommand {                                                     // decide dependend on received command
            case UP : triggeringItem.sendCommand(OFF)                                  // command is UP, so send 0            
            case OFF : triggeringItem.sendCommand(OFF)                                  // command is OFF, so send 0
            case DOWN : triggeringItem.sendCommand(ON)                              // command  is DOWN, so send 100
            case ON : triggeringItem.sendCommand(ON)                                // command  is ON, so send 100            
            default : logWarn("shutter","Command {} not supported!",receivedCommand) // any other command will cause a warn log
        }                                                                            // end of switch block
    else                                                                             // command is a number
        logInfo("shutter","received Number {}, doing nothing!",receivedCommand)      // log an info that the command was a number
end
Dann sollte die Fehlermeldung ebenfalls verschwinden, oder?

Benutzeravatar
Detlef
Beiträge: 190
Registriert: 11. Dez 2019 21:50
Answers: 1
Wohnort: Recklinghausen
Kontaktdaten:

Re: OH3 Rule mit Fehlermeldung ON/OFF mit Rollershutter

Beitrag von Detlef »

Hallo
""""Jetzt schein es in OH so zu sein, dass da, wo bislang "UP" / "DOWN" gesendet wurde inzwischen "ON" / "OFF" rauskommt, jedenfalls empfängt die RULE in Deinem Beispiel oben das Kommando "OFF". Das heißt, der Kommandogeber hat sich verändert, nicht der Empfänger."""


Nein das ist nicht ganz richtig.
Ich habe in OH3 "Items Rollershutter die UP / Down " senden. Meine Rollomotoren sind aber wie Schalter die ON / OFF befehle brauchen.
daher die Rule.
a Ohne Rule geht nichts. OH3 sendet UP / DOWN ich brauche aber zum senden OFF / ON.
Die Rule funktionier soweit, nur die Fehlermeldung im LOG kommt.
Wenn ich in OH3 den Rollershutter (UP/DOWN) dann bekommen meine Rollos den Befehl OFF/ON.

LOG:Fehler nur unter OH3 nicht unter OH2.5


2021-01-27 12:53:49.382 [ERROR] [ernal.handler.ScriptConditionHandler] - Script did not return a boolean value, but 'null'

Ich meine jetzt die Ursache der Fehlermeldung gefunden zu haben.
Das muss mit den " kein Number " in der Rule zusammenhängen. Es kommt bei der Steuerung der Rollershutter ja die Rückmeldung 100 oder 0. Und das ist ja ein Zahlenwert der den Fehler verursachen kann?
Warum der Fehler nur in OH3 und nicht in OH2.5 ist sei mal dahingestellt.

Das " Number " ist in der Rule OH3 "grün-gekennzeichnet". ich meine gelesen zu haben, dass da mit grün gekennzeichnetes fehlerhaft ist.
Ansonsten muss ich 12 Dummy (Rolloshutter) und 12 Schalter erstellen. Dazu dann eine Rule die den Befehl "UP" in "DOWN" ändert.
Danke erst einmal.
Mit freundlichen Grüße aus Recklinghausen

Antworten