Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Evtl. postest Du mal die Rule und auch die Fehlermeldung aus Karaf? Die dazugehörigen Items/Things, etc. So ganz ohne Information ist dies schwierig nachzuempfinden
Falls Du in der Karaf Konsole oder in den Log Files keine Einträge erhälst, wo bei mind. das getriggerte Event einen Eintrag generieren müsste, baue ich mir immer Logging Infos die einzelnen Stellen. Hierzu nutze ich in der Regel println oder logInfo.
Dazu musst Du natürlich in der Karaf Konsole mit log:tail auch die Logs anzeigen lassen :-)
Code:
rule "Sascha Homeoffice"
when
Item all_sascha_homeoffice received command or
Item all_sascha_homeoffice received command
then
println("-> Sascha HomeOfffice aktiviert")
logInfo("all_sascha_homeoffice","Received Command: {}",all_sascha_homeoffice.state)
if (receivedCommand==ON) {
logInfo("all_sascha_homeoffice","Received Command: {}",all_sascha_homeoffice.state)
pc_arbeitszimmer_sascha.sendCommand(ON)
og_arbeitszimmersascha_rol.sendCommand(0)
og_arbeitszimmersascha_schreibtisch(ON)
logInfo("all_sascha_homeoffice","Was sollte passiert sein")
if (now.getHourOfDay() <= 19 && now.getHourOfDay() >= 8) {
Thread::sleep(2500)
echo_dot_arbeitszimmer_sascha_TTS_Volume.sendCommand(60)
echo_dot_arbeitszimmer_sascha_TTS.sendCommand('Ich wünsche dir einen angenehmen Homeoffice Tag')
logInfo("all_sascha_homeoffice","Echo sollte gesprochen haben")
usw.
Man kann die logInfos auch drin lassen und nur stumm schalten (das geht auch im laufenden Betrieb, ohne die Rule zu bearbeiten). das ist einer der Gründe, warum man für den Loggernamen (das ist der erste Parameter des logInfo-Befehls) einen sinnvollen kurzen Begriff wählen sollte, und zwar pro Funktionseinheit (also entweder in jeder Rule ein Loggername, oder auch in einer Gruppe Rules red gleiche Loggername, weil die Rules zu einer Funktion gehören. Dann werden die Zeilen alle gemeinsam scharf/unscharf geschaltet.
Man kann die logInfos auch drin lassen und nur stumm schalten (das geht auch im laufenden Betrieb, ohne die Rule zu bearbeiten). das ist einer der Gründe, warum man für den Loggernamen (das ist der erste Parameter des logInfo-Befehls) einen sinnvollen kurzen Begriff wählen sollte, und zwar pro Funktionseinheit (also entweder in jeder Rule ein Loggername, oder auch in einer Gruppe Rules red gleiche Loggername, weil die Rules zu einer Funktion gehören. Dann werden die Zeilen alle gemeinsam scharf/unscharf geschaltet.
Evtl. Hilfst Du mir/uns noch einmal auf die Sprünge wie dies aus/ein geschaltet wird? Log:tail lasse ich eigentlich die ganze Zeit laufen, um den Überblick zu haben.
Im Beispiel log:set DEBUG org.openhab.core.model.script.rtr sieht der logBefehl so aus: logDebug("rtr","Irgendeine Logmeldung auf DEBUG Level")
Typischerweise würde man den Loglevel zuerst auf DEBUG anheben um dann logDebug() für kleinschrittige Analyse einzusetzen, an ausgewählten Stellen evtl. mit logInfo() Informationen auszugeben und bei Problemen mit logWarn() eine Warnung auszugeben. Wenn die Rule funktioniert, schaltet man auf INFO zurück, wenn auch die Informationen noch zu viel sein sollten, setzt man auf WARN und bekommt nur noch wichtige Meldungen.
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar