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.
Lust zu auf Helfen auf jeden Fall, Zeit ist meist das größere Problem, aber wir probieren das mal
Schau mal hier. Da gibt es eine Version mit weiteren Verbesserungen. Damit sollte beim Start das Status richtig geladen werden. Zumindest klappt es bei mir
Probierst Du mal?
Hier ist beschrieben, wie man das ein einfachsten macht. Oder einfach hart drüberbügeln.
1. Ausgangslage - SHNG läuft, alle Stecker waren online
++ WebIF zeigt alles sauber an; Items werden betankt;
-- Online Status für Power ist noch nicht korrekt, Schalten geht aber. Danach bleibt auch der Status sauber, auch bei Schalten am Stecker - schienbar hakt es noch am init beim Plugin-Start?
2. Stecker raus und wieder rein
- Stecker verschwindet sauber im WebIF; Device-Status geht aus flase; Item geht auf Online
- Online-Status wird wieder sauber erkannt und auch alle Items wieder sauber betankt
- Schalten geht direkt!!
- WebIf zeigt auch alles wieder korrekt an
3. "neuen" Stecker hinzufügen, der beim Starten von SHNG nicht online war
- wird erkannt und sauber befüllt
- Power-Status ist korrekt !!
ich nochmal. Nachdem die Intgeration der Gosund-Stecker so gut läuft, habe ich jetzt meine Sonoff RF-Bridge noch von Espurna auf Tasmota umgeflasht.
Das Gerät läuft, Steckdosen sind angelernt und lassen sich auch über das Frontend und MQTT schalten. Das Plugin sieht die Bridge auch schon. 👍
Eine Thema wo ich jetzt einen Knoten im Kopf habe, ist die Item-Integration. Was ist da Dein Ansatz? Aus der plugin.yaml werde ich so nicht schau.
Tasmota hat zwei Switche für jedes Relay - einmal ein, einmal aus. Wie krieg ich das jetzt an das Item - zwei Items je Stecker, oder ...?
Hier ist mal meine erste Item-Conf, was so aber sicher nicht läuft.
### Sonoff RF Bridge - 5 Relays
Sonoff: type: bool tasmota_topic: sonoff
Relay1: type: bool tasmota_topic: ..:. tasmota_relay:
# Status über die beiden Items erkennen rf_recv: Rfkey1 Rfkey2
# sende das angelernte Rf-Signal - aus Tasmota-Doku rf_send: 6
# das macht so ggf. keinen Sinn, da das Plugin entscheiden müsste. Damit wäre nur "um"-schalten möglich. rf_key_send: 1 2 cache: true
Das funktioniert so:
Empfang: es gibt ein Item, das den RFkey empfängt. Das Item Trigger eine Logik, in anhand des RfKeys die Aktion ausgelöst wird.
Senden: hier wird der RFkey an ein Item übergeben, der das dann sendet.
Soviel mal aus der Ferne bzw aus dem Kopf. Beispiele schicke ich, wenn ich wieder zu Hause bin.
und dazu die Logik tasmota_rfbridge_action.py wobei die Logik auf das Item "rf_rec_data" hört bzw. davon getriggert wird:
Code:
#!/usr/bin/env python3
# tasmota_rfbridge_action.py
## Logik, um basierend auf dem Code eines RF-Tasters Aktionen auszuführen
logger.info(f"Logik '{logic.id()}' ausgelöst durch: {trigger['by']} und {trigger['source']} mit Wert {trigger['value']}")
#Wenn Trigger das Item war, dann RF-Data einlesen
if trigger['by'].lower() == 'item':
rf_data = trigger['value']
##RF-Data auswerten
# Licht Dachboden an bei Empfgang von 3602B2 (links)
if rf_data == '3602B2':
sh.licht.dg.dachboden.decke.onoff(1)
# Licht Dachboden toggeln bei Empfgang von 3602B4 (Mitte)
if rf_data == '3602B4':
sh.licht.dg.dachboden.decke.onoff(not sh.licht.dachboden.decke.onoff())
# Licht Dachboden aus bei Empfgang von 3602B8 (rechts)
if rf_data == '3602B8':
sh.licht.dg.dachboden.decke.onoff(0)
# Licht Garage aus bei Empfang von CC2871
if rf_data == 'CC2871':
sh.licht.aussen.garage.decke.onoff(0)
# Steckdose Waschmaschine aus bei Empfang von 021FE2
if rf_data == '021FE2':
sh.steckdosen.ug.waschkueche.waschmaschine.onoff(not sh.steckdosen.ug.waschkueche.waschmaschine.onoff())
logger.info(f"Steckdose Waschmaschine geschaltet. Neuer Zustand ist {sh.steckdosen.ug.waschkueche.waschmaschine.onoff()}")
# Steckdose Wäschetrockner aus bei Empfang von 021FE4
if rf_data == '021FE4':
sh.steckdosen.ug.waschkueche.waeschetrockner.onoff(not sh.steckdosen.ug.waschkueche.waeschetrockner.onoff())
logger.info(f"Steckdose Wäschetrockner geschaltet. Neuer Zustand ist {sh.steckdosen.ug.waschkueche.waeschetrockner.onoff()}")
Für das Senden sind die beiden Items "rf_key_send" und "rf_send" da.
Schreibst Du die Tastennummer in das Item "rf_key_send", wird diese Aktion auslöst, die im der RF-Bridge für diese Taste hinterlegt ist.
In das Item "rf_send" musste Du die RF-Daten direkt schreiben, so dass die RF-Bridge das als RF-Signal versendet. (Die RF-Daten sind die Daten, die bspw. in der RF-Bridge auf einer Taste abgespeichert sind")
danke für die Erläuterung. Hatte am Wochenende endlich mal Zeit mich damit auseinander zu setzen. Für mich sieht es aus als wenn wir zwei verschiedene Use-Cases haben. Du ungehst (evtl. mit Absicht?) die Zuordnung im Tasmota, damit lässt sich ja auch die Anzahl der zugeordneten Devices aushebeln.
Ich würde die Zuordnung an sich gerne im Tasmota vornehmen. Damit kann ich die Fernbedienung nutzen und sehe den Status im Smarthome und kann auch von dort Schalten (z.b. USZU). Ich nutze das u.a. um meine Sonos-Boxen über Nacht und bei Abwesenhet Offline zu nehmen.
Das lässt sich dann heute nur über die Logik zuordnen, geht damit erstmal. 👍
Cool wäre als Erweiterung je Item ein Tag On-Key/Off-Key. Der zugehörige RC-Code lässt sich im Tasmota sogar auslesen - "RfKey[1-16] 5"
Cool wäre als Erweiterung je Item ein Tag On-Key/Off-Key. Der zugehörige RC-Code lässt sich im Tasmota sogar auslesen - "RfKey[1-16] 5"
Hi,
ich kann gern eine Erweiterung einbauen, so dass einem Item direkt ein RfKey oder ein "Rf-Datenset" zugewiesen werden kann. Das Item wird dann aktualisiert, wenn die RF-Bridge den entsprechenden Befehl empfängt.
Mir ist aber nicht klar, wie Du das Senden bzw. den Status umsetzen willst. Über das Item kannst Du dann auch den das Senden eines RfKeys auslösen. Wie bekommst Du aber mit, ob An oder Aus geschaltet wurde? Hilf mir mal auf die Sprünge?
Beschreibe doch bitte mal Deine Items und RF-Daten.
ich habe heute mit Erschrecken festgestellt, dass meine Antwort nie hier angekommen ist - strange.
Ich hole nochmal mal ein wenig zum Erklären aus. Ich nutze eine Itead 433Mhz Bridge mit Tasmota geflasht - Device "RF Bridge". Das Ganze sieht dann so aus
Jeden verbundenen Schalter werden 2 Switche zugewiesen, einer für Ein und einer für Aus. Diese können angelernt werden
Zum Auslesen des Codes, den Du ja aktuell verwendest, gibt es das Kommando RFfKey[1-16] 5, d.h.
Mit Kommando "RfKey[1-16] 2", sendet man den gelernten Code raus.
Für das Item würde das für mich bedeuten, das man 2 Attribute benötigt - RfKeyOn: 1 (Einschalten) und RfKeyOff: 2 (Ausschalten).
Bei Bedarf könnte man dort auch den RF-Code einbauen, das benötigt aber ggf. wieder Deine Auswertung, wenn der Code gleich ist.
Empfangen von Signalen der Fernbedienung läuft damit auch und wird dem Key zugeordnet:
Du erstellst ein Item für jeden Steckdose mit dem Typ 'bool'. Im u.a. Beispiel heißt es "sonos_plug_1". Da kannst Du mit USZU etc arbeiten.
Hinzu kommt ein on_update attribut. Dazu kommen wir gleich.
Weiterhin gibt es in child-item (im Beispiel heißt es "rf_key"). Das Item wir so konfiguriert, dass der RFKey gesendet werden, dessen Wert das Item bekommt. Bedeutet, wird diesem Item der Wert 1 zugewiesen, wir der RFKey1 gesendet, usw.
Die Verbindung zwischen den Items stellt das on_update Attribut her. Dieses wird bei jedem Update des Items ausgeführt und besagt in diesem Falle, dass dem Child-Item rf_key der Wert 1 zugewiesen werden soll, wenn der Item-Wert "True" ist ansonsten der Wert 2. Hier musst Du nun die RFKey Nummern einsetzt, mit denen Du Ein- und Aus-schaltest.
Code:
sonos_plug_1:
type: bool
enforce_updates: yes
struct: uzsu.child
on_update: .rf_key = 1 if value == True else 2
rf_key:
remark: helper item to send RFKey of item value (e.g. if item value is '1', RFKey1 is send)
type: num
tasmota_topic: SONOFF_RF1
tasmota_attr: rf_key_send
enforce_updates: yes
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