Sonoff RF Bridge und Tasterfunktion
Moderatoren: Cyrelian, udo1toni
-
- Beiträge: 210
- Registriert: 23. Mai 2017 21:41
Re: Sonoff RF Bridge und Tasterfunktion
Dann sieht es doch so aus, als ob die Rule nicht, bzw. nur für Time cron gebraucht wird.
Funktioniert die MQTT-Anweisung denn?
Funktioniert die MQTT-Anweisung denn?
-
- Beiträge: 277
- Registriert: 15. Apr 2018 17:09
Re: Sonoff RF Bridge und Tasterfunktion
Die Anweisung wird gesendet ich kann sehen das sie über die Konsole abgesetzt wird. Ebenso geht aus dem LOG von OH2 hervor das gesendet wurde.
Ich sehe derzeit aber keine Funktion an der Lampe.
Ich sehe derzeit aber keine Funktion an der Lampe.
-
- Beiträge: 277
- Registriert: 15. Apr 2018 17:09
Re: Sonoff RF Bridge und Tasterfunktion
Hier auch die Einträge die ich sehe:
und der LOG-File:
Code: Alles auswählen
12:10:02 MQT: stat/BridgeOne/RESULT = {"RfSync":7330}
12:10:02 MQT: stat/BridgeOne/RESULT = {"RfLow":230}
12:10:03 MQT: stat/BridgeOne/RESULT = {"RfHigh":710}
12:10:03 MQT: stat/BridgeOne/RESULT = {"RfCode":"#BC6B70"}
Code: Alles auswählen
2018-09-11 13:10:02.162 [ome.event.ItemCommandEvent] - Item 'Aqua_Day' received command ON
2018-09-11 13:10:02.174 [vent.ItemStateChangedEvent] - Aqua_Day changed from OFF to ON
2018-09-11 13:10:02.190 [vent.ItemStateChangedEvent] - Aqua_Day changed from ON to OFF
- udo1toni
- Beiträge: 13953
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Sonoff RF Bridge und Tasterfunktion
Irgendwie passt Dein Ansatz nicht zu der ursprünglichen Aufgabenstellung, deshalb mal mein Senf dazu:
1. Taster: Du hast ja schon rausgefunden, wie Du einen Button in die Sitemap bekommst. Eine "Rücksetz-Rule" ist aber komplett unnötig, wenn Du dem Item noch einen Parameter verpasst:
Das bewirkt, dass der Status des Items nicht gesetzt wird. Die Schaltfläche wird auch dann nutzbar sein, wenn sie fälschlich als aktiv gerendert wird.
2. Anzeige der Schaltstellung: Es gibt da ein kleines Problem, da Du keine Rückmeldung über den Schaltzustand hast, kannst Du auch nicht sicher sein, welchen Zustand das Licht hat. Wenn Du damit leben kannst, dass die Anzeige durchaus mal aus dem Tritt kommt, kannst Du Dir mit einer Rule und einem Number Item behelfen:
item:
transform/stufen.map:
rule:
Sitemap:
Im Zweifel sollte das Licht ausgeschaltet sein, wenn openHAB gestartet wird, damit der Zustand korrekt ist, sobald das Licht zum ersten mal geschaltet wird. Wenn die Anzeige aus dem Tritt gerät, kannst Du sie mit einem Update des Items auf den korrekten Wert wieder synchron machen. Das geht z.B. einfach über die Karaf Konsole mittels smarthome update Zustand 2 (2 für mittlere Dimmstufe)
Die bessere Variante wäre aber zweifellos, eine gescheite Rückmeldung einzubauen, falls der Schalter das erlaubt. Wenn das nicht der Fall ist, hat er in einer Smarthome-Umgebung eigentlich nichts zu suchen
was dads Nicht-Schalten betrifft, tippe ich darauf, dass Du das Backlog noch ausführen musst. (Ich hab das bisher nicht eingesetzt, aber mir ist so...)
1. Taster: Du hast ja schon rausgefunden, wie Du einen Button in die Sitemap bekommst. Eine "Rücksetz-Rule" ist aber komplett unnötig, wenn Du dem Item noch einen Parameter verpasst:
Code: Alles auswählen
Switch Aqua_Day "Tagbeleuchtung" <sun> ["Lighting" ] {mqtt=">[OH2mqtt:cmnd/BridgeOne/Backlog:command:*:RfSync 7330; RfLow 230; RfHigh 710; RfCode #BC6B70]", autoupdate="false" }
2. Anzeige der Schaltstellung: Es gibt da ein kleines Problem, da Du keine Rückmeldung über den Schaltzustand hast, kannst Du auch nicht sicher sein, welchen Zustand das Licht hat. Wenn Du damit leben kannst, dass die Anzeige durchaus mal aus dem Tritt kommt, kannst Du Dir mit einer Rule und einem Number Item behelfen:
item:
Code: Alles auswählen
Number Zustand "Licht ist [MAP(stufen.map):%d]" // Item dient nur der Anzeige
Code: Alles auswählen
0=AUS
1=HELL
2=MITTEL
3=DUNKEL
-=-
NULL=-
Code: Alles auswählen
rule "Zustand weiter schalten"
when
Item Aqua_Day received command
then
if(!(Zustand.state instanceof Number)) { // Item noch nicht initialisiert?
Zustand.postUpdate(0) // dann mit 0 initialisieren
Thread::sleep(200) // openHAB etwas Zeit geben
}
var Number Zahl = Zustand.state as Number + 1 // aktuellen Stand hochzählen
if(Zahl > 3) Zahl = 0 // Bei Überlauf auf 0 setzen
Zustand.postUpdate(Zahl) // neuen Stand schreiben
end
Code: Alles auswählen
text item=Zustand
Die bessere Variante wäre aber zweifellos, eine gescheite Rückmeldung einzubauen, falls der Schalter das erlaubt. Wenn das nicht der Fall ist, hat er in einer Smarthome-Umgebung eigentlich nichts zu suchen
was dads Nicht-Schalten betrifft, tippe ich darauf, dass Du das Backlog noch ausführen musst. (Ich hab das bisher nicht eingesetzt, aber mir ist so...)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 277
- Registriert: 15. Apr 2018 17:09
Re: Sonoff RF Bridge und Tasterfunktion
Hallo Udo1toni,
danke für Deine umfangreiche Unterstützung. Ich habe folgendes gemacht:
Item Schalter:
Dann zwei neue Items Zustand:
dann die Rule erstellt:
dann habe ich zwei Maps erstellt:
stufenday:
stufennight:
dann die Sidemap wie folgt geändert:
So nun habe ich im log folgende Fehlermeldung:
Was könnte ich falsch gemacht haben in der Anzeige sehe ich Licht ist...dann eine Zahl, diese wird mit dem Schaltvorgang erhöht.
Bin verwirrt
mfg
Micha
danke für Deine umfangreiche Unterstützung. Ich habe folgendes gemacht:
Item Schalter:
Code: Alles auswählen
Switch Aqua_Day "Tagbeleuchtung" <sun> ["Lighting"] {mqtt=">[OH2mqtt:cmnd/BridgeOne/Backlog:command:*:RfSync 7330; RfLow 230; RfHigh 710; RfCode #BC6B70]", autoupdate="false"}
Switch Aqua_Night "Nachtbeleuchtung" <moon> ["Lighting"] {mqtt=">[OH2mqtt:cmnd/BridgeOne/Backlog:command:*:RfSync 7330; RfLow 230; RfHigh 710; RfCode #BC6B78]", autoupdate="false"}
Code: Alles auswählen
Number Zustand_Day "Licht ist [MAP(stufenday.map):%d]"
Number Zustand_Night "Licht ist [MAP(stufennight.map):%d]"
Code: Alles auswählen
rule "Zustand weiter schalten Tag"
when
Item Aqua_Day received command
then
if(!(Zustand_Day.state instanceof Number)) { // Item noch nicht initialisiert?
Zustand_Day.postUpdate(0) // dann mit 0 initialisieren
Thread::sleep(200) // openHAB etwas Zeit geben
}
var Number Zahl = Zustand_Day.state as Number + 1 // aktuellen Stand hochzählen
if(Zahl > 3) Zahl = 0 // Bei Überlauf auf 0 setzen
Zustand_Day.postUpdate(Zahl) // neuen Stand schreiben
end
rule "Zustand weiter schalten Nacht"
when
Item Aqua_Night received command
then
if(!(Zustand_Night.state instanceof Number)) { // Item noch nicht initialisiert?
Zustand_Night.postUpdate(0) // dann mit 0 initialisieren
Thread::sleep(200) // openHAB etwas Zeit geben
}
var Number Zahl = Zustand_Night.state as Number + 1 // aktuellen Stand hochzählen
if(Zahl > 3) Zahl = 0 // Bei Überlauf auf 0 setzen
Zustand_Night.postUpdate(Zahl) // neuen Stand schreiben
end
stufenday:
Code: Alles auswählen
0=AUS
1=HELL
2=MITTEL
3=DUNKEL
-=-
NULL=-
Code: Alles auswählen
0=AUS
1=Mittel
-=-
NULL=-
Code: Alles auswählen
Frame label="Aquarium" {
Switch item=Aquarium
Switch item=Aqua_Day mappings=[ON="Day"]
Text item=Zustand_Day
Switch item=Aqua_Night mappings=[ON="Night"]
Text item=Zustand_Night
Text item=Aqua_Temp valuecolor=[>27="red",>21="green",<=21="blue"]
Code: Alles auswählen
2018-09-11 18:38:07.637 [WARN ] [ui.internal.items.ItemUIRegistryImpl] - couldn't transform value in label because transformationService of type 'MAP' is unavailable
2018-09-11 18:38:07.654 [WARN ] [ui.internal.items.ItemUIRegistryImpl] - couldn't transform value in label because transformationService of type 'MAP' is unavailable
Bin verwirrt
mfg
Micha
-
- Beiträge: 277
- Registriert: 15. Apr 2018 17:09
Re: Sonoff RF Bridge und Tasterfunktion
und hast du noch Infos zum Backlog ??,
meine normalen Funkschalter haben da anscheinend keine Probleme.
danke für Deine Unterstützung !!
meine normalen Funkschalter haben da anscheinend keine Probleme.
danke für Deine Unterstützung !!
-
- Beiträge: 277
- Registriert: 15. Apr 2018 17:09
Re: Sonoff RF Bridge und Tasterfunktion
So das Transforming passt, ich hatte den Dienst nicht bei OH2 installiert.
Fehlermeldung ist weg
Fehlermeldung ist weg
-
- Beiträge: 277
- Registriert: 15. Apr 2018 17:09
Re: Sonoff RF Bridge und Tasterfunktion
Zum anderen habe ich die Überläufe in der Rule auf 3 am Tag und 1 in der Nacht geändert.
Somit werden die Zustände den Schaltvorgängen richtig angezeigt
Somit werden die Zustände den Schaltvorgängen richtig angezeigt
- udo1toni
- Beiträge: 13953
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Sonoff RF Bridge und Tasterfunktion
Ich hab nochmal bei Theo Arends im Wiki nachgelesen, es sollte reichen, alle Befehle aneinandergereiht zu übergeben.
Die anderen Probleme hast Du ja schon selbst lösen könen.
Die anderen Probleme hast Du ja schon selbst lösen könen.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet