Funksteckdosen, -sensoren und Fernbedienungen in Homeassistant integrieren
Mithilfe des RaspyRFM Funkmoduls können mittels einem Raspberry PI, Funkkomponenten wie Steckdosen, Bewegungsmelder, Türkontakte usw. in Home Assistant einfach eingebunden werden, sodass diese darin als Entitäten wie lights, switches oder sensors zur Verfügung stehen und so z.B. in Automationen oder der komfortablen Weboberfläche konfiguriert werden können.
Alternativ zum RaspyRFM Funkmodul steht mittlerweile auch das RFM-Gateway zur Verfügung, welches standalone ohne einen Raspberry PI im WLAN betrieben werden kann.
Voraussetzungen
- RaspyRFM 433 MHz Funkmodul oder RFM-Gateway mit 433 MHz Funkchip
- Raspberry PI OS Installation mit laufendem Home Assistant Docker-Container mit MQTT Integration. Das RaspyRFM kann NICHT direkt unter Home Assistant OS installiert werden!
- MQTT Broker (z. B. Mosquitto), kann ebenfalls auf dem gleichen Raspberry PI laufen
- Installiertes Pythonmodul für das RaspyRFM Funkmodul, Installation siehe hier
- Laufendes rcpulsegw Skript, im Softwarepaket des RaspyRFM enthalten. Starten mit
apps/rcpulsegw.py
Unterstützt wird eine große Auswahl an fernsteuerbaren Steckdosen, Unterputzmodulen, Fernbedienungen, Bewegungsmeldern und Fensterkontakten. Unter anderen werden die Geräte der Marken
- Intertechno
- Hama
- Brennenstuhl
- Pilota Casa
- Emylo
- ELV FS20
- Nexa
- Telldus
- Voltcraft
- Logilight
- REV
- Elro
- uvw.
unterstützt. Eine (unvollständige) Liste aller unterstützten Geräte findet sich hier.
Konfiguration in Homeassistant (configuration.yaml)
Nachdem in Homeassistant die MQTT Integration eingerichtet und betriebsbereit ist, müssen die Funkkomponenten nur noch in dessen Konfiguration eingesetzt werden. Dazu werden in die Datei configuration.yaml
von Homeassistant einfach lights
, switches
oder sensors
hinzugefügt und mit den passenden MQTT Topics und States versehen. Hier ist ein Beispielauszug aus der Datei configuration.yaml:
mqtt:
light:
- name: "Licht 1"
command_topic: home/rcpulse/intertechno/23087301/1/set
state_topic: home/rcpulse/intertechno/23087301/1
- name: "Licht 2"
command_topic: home/rcpulse/intertechno/23087301/2/set
state_topic: home/rcpulse/intertechno/23087301/2
- name: "Theke"
command_topic: home/rcpulse/intertechno/23087301/3/set
state_topic: home/rcpulse/intertechno/23087301/3
switch:
- name: "Steckdose 1"
command_topic: home/rcpulse/hama/97301/3/set
state_topic: home/rcpulse/hama/97301/3
MQTT Nachrichten zum Steuern der Funksteckdosen
Das rcpulsegw Skript hört auf das MQTT Topic „home/rcpulse/#“. Im Topicpfad werden das zu verwendende Funkprotokoll (z. B. „intertechno“, „pilota“, „emylo“ etc.) sowie die Parameter wie Unit, Group, und/oder Channel angegeben. Zum Testen können mit einem MQTT Client Nachrichten an das rcpulse Skript gesendet werden, um die Funksteckdosen zu schalten:
mosquitto_pub -h localhost -t home/fs20/1722/2/set -m "ON"
mosquitto_pub -h localhost -t home/emylo/1722/2/set -m "OFF"
Hier sind die passenden Topics einiger der möglichen Protokolle und deren Parameter aufgelistet, um Schaltbefehle mit dem rcpulsegw Skript auszusenden.
Intertechno (Tristate)
Mit diesem Protokoll können die älteren, nicht selbstlernenden Funksteckdosen und die zugehörigen Fernbedienungen von Intertechno angesprochen werden.
Aufbau: home/rcpulse/ittristate/<house>/<group>/<unit>/set <ON|OFF> Beispiele: home/rcpulse/ittristate/B/3/2/set ON home/rcpulse/ittristate/B/3/2/set OFF
Brennenstuhl RCS 1000
Aufbau: home/rcpulse/brennenstuhl/<dips>/<unit>/set <ON|OFF> Beispiele: home/brennenstuhl/110100/2/set ON home/brennenstuhl/110100/2/set OFF
Intertechno (selbstlernend)
Aufbau: home/rcpulse/intertechno/<id>/<unit>/set <ON|OFF|0-100> Beispiele: home/intertechno/47145/2/set ON home/intertechno/47145/2/set OFF home/intertechno/47145/2/set 60 # auf 60 % dimmen
Hama
Aufbau: home/rcpulse/hama/<id>/<unit>/set <ON|OFF> Beispiele: home/hama/1394/3/set ON home/hama/1394/3/set OFF
Logilight
Aufbau: home/rcpulse/logilight/<id>/<unit>/set <ON|OFF> Beispiele: home/logilight/91823/1/set ON home/logilight/91823/1/set OFF
Emylo
Die Emylo Fernbedienungen haben keine expliziten Ein-/Austasten, sondern je nach Typ Tasten von A-B oder A-D. Daher müssen in Homeassistant zusätzlich die Payloads angegeben werden:
mqtt:
light:
- name: "Weihnachtsbaum"
command_topic: home/rcpulse/emylo/9172/set
state_topic: home/rcpulse/emylo/9172
payload_on: A
payload_off: B
Aufbau: home/rcpulse/emylo/<id>/<unit>/set <A-D> Beispiele: home/emylo/9172/set A home/emylo/9172/set B
ELV FS20
Das Funkschaltsystem von ELV läuft im Gegensatz zu den meisten anderen Systemen auf 868 MHz, dazu wird das RaspyRFM in der 868 MHz Ausführung benötigt.
Aufbau: home/rcpulse/fs20/<id>/<unit>/set <ON|OFF> Beispiele: home/fs20/9172/set A home/fs20/9172/set B
Pilota Casa
Vom Hersteller Pilota Casa gibt es neben Handfernbedienungen auch praktische Wandtaster, Bewegungsmelder, Fensterkontakte usw.
Aufbau: home/rcpulse/pilota/<id>/<group>/<unit>/set <ON|OFF|LEARN> Beispiele: home/pilota/9831/2/2/set ON home/pilota/9831/2/2/set OFF
Sonstige
Funksteckdosen und Sender werden von zahlreichen Firmen vermarktet und verwenden oft gleiche oder ähnliche Protokolle. So lassen sich etwa auch Komponenten der Marken Telldus, Nexa, Voltcraft usw. integrieren. Eine (unvollständige) Liste mit den zugehörigen Protokollen findet sich hier.
MQTT-Nachrichten zum Empfang von Sensoren
Wird eine Funksteckdose mit der zugehörigen Fernbedienung angesteuert wird der Schaltbefehl vom RaspyRFM empfangen und über eine MQTT Statusmeldung an Homeassistant weitergereicht. So kann man in Homeassistant den geänderten Schaltzustand sehen, auch wenn der Befehl nicht von Homeassistant selbst kam. Das rcpulsegw Skript gibt alle empfangenen und dekodierten Telegramme, etwa von Funkfernbedienungen, Bewegungssensoren oder Fensterkontakten an den MQTT Broker weiter. Weil sich viele Protokolle sehr ähnlich sind, können für dasselbe empfangene Telegram unter Umständen mehrere MQTT-Nachrichten erzeugt werden. Wird an das jeweils empfangene Topic noch /set
gehängt ergibt sich das passende Topic zum Senden. Mit einem MQTT Client lassen sich alle empfangenen Telegramme mitlesen:
mosquitto_sub -h localhost -t home/rcpulse/# -v
home/pilota/9831/2/2 ON
Handfernbedienungen, Fensterkontakte, Bewegungsmelder, etc.
Ein Fensterkontakt von Pilota Casa kann beispielsweise folgendermaßen in Homeassistant eingebunden werden:
mqtt: binary_sensor: - name: "win-musik" unique_id: rcpulse-51221-1-2 state_topic: home/rcpulse/pilota/512271/1/2
Funktemperatursensoren
Im 434 MHz Band senden ebenfalls einige Temperatur- und Feuchtigkeitssensoren, z. B. von Telldus, welche mit dem RaspyRFM 434 MHz zusätzlich eingebunden werden können:
mqtt: sensor: - name: "Test" state_topic: "home/rcpulse/wh2/88" unit_of_measurement: "°C" value_template: "{{ value_json.T }}" device_class: "temperature"
Temperatur-/Feuchtigkeitssensoren LaCrosse 868 MHz
Diese Sensoren, z. B. Technoline TX29, TX35, u.a., senden mit einer anderen Modulation und einer anderen Frequenz als alle anderen o. g. Geräte. Dafür wird das RaspyRFM in der 868 MHz Ausführung benötigt, und anstelle des rcpulsegw Skript muss das lacrossegw Skript laufen. Ein gemeinsamer Betrieb von Sensoren/Aktoren im 434 MHz Band und LaCrosse-Sensoren ist mit dem RaspyRFM Doppelmodul möglich, mit dem beide Skripte gleichzeitig ausgeführt werden können. Weitere Informationen zu den LaCrosse Funksensoren finden sich hier. Einbindung in Homeassistant:
mqtt: sensor: - name: "T Küche" unique_id: T-lacrosse-4c state_topic: "home/lacrosse/4c" value_template: "{{ value_json.T }}" unit_of_measurement: "°C" device_class: "temperature" - name: "T Wohnzimmer" unique_id: T-lacrosse-70 state_topic: "home/lacrosse/70" value_template: "{{ value_json.T }}" unit_of_measurement: "°C" device_class: "temperature"
Guten Tag,
Ich habe einen RPI mit Homeassistant OS installiert, d. h. SSH kann ich nicht nutzen.
Das Funkmodul (432 mHz) ist installiert, wie bekomme ich „RaspyRFM“ auf den Raspi??
Achim
Das RaspyRFM kann unter Homeassistant OS nicht installiert werden. Herkömliches Raspberry OS installieren und HA in einem Docker Container laufen lassen.
Mist.
ich hatte gehofft mit diesem Modul wird es einfach—-
Wieder nichts.
Ich werde wohl doch bei FHEM bleiben
Ist zwar „altbacken“ hier funktionieren aber viele Module incl. Signalduino. etc.
Danke für die Info
Hallo,
ich habe hier viel gelesen, aber leider wenig verstanden…
Ich möchte meine Jalousien im Home Assistant einbinden.
Bei der suche bin ich auf RaspyRFM gestoßen.
Anbei die Eckdaten:
HA läuft auf einen Tiny PC
Ich habe 8 x den ITL 500 von Intertechno verbaut.
Nutze das ITGW-433 um mit Smartphone die Jalousien anzusprechen. (über Smartphone)
Daher die Frage kann ich das RaspyRFM überhaupt nutzen?
und wenn ja, was muß ich in die configuration.yaml eintragen.
kannst du mir da einen Tipp geben? oder sagen wo ich vielleicht ein passendes Script finde?
Danke
Stefan
Das RaspyRFM kann den ITL 500 ansprechen. Ein Konfigurationsbeispiel für Intertechnogeräte gibt es hier:
https://www.seegel-systeme.de/2022/01/22/funksteckdosen-sensoren-und-fernbedienungen-in-homeassistant-integrieren/
Gruß
Stefan
Guten Tag,
ich habe mit meinem frisch erworbenen 433 MHz raspyRFM das Problem das der Empfang von Handsendern nur sehr schlecht funktioniert. Ich habe hier 4 Intertechno Fernbedienungen und bei allen klappt der Empfang nur wenn man direkt vor dem Rasberry PI steht (<2m) während sich die Steckdosen sich damit problemlos durch die Wand im nächsten Raum schalten lassen. Das senden von Schaltbefehlen mit dem RFM klappt dabei deutlich besser.
Ich verwende dabei die größere 433 MHz SMA Antenne aus Ihrem shop.
Vielen Dank!
Der Empfang ist generell etwas schlechter als bei dedizierten OOK Empfängern in den Steckdosen, aber die Rechweite sollte normalerweise deutlich größer sein. Probieren Sie mal mit der Frequenz des RaspyRFM in ein paar 10 kHz Schritten höher oder tiefer zu gehen, einzustellen über den Parameter -f.
Danke für für den Hinweis.
Ich habe mir in der Zwischenzeit eine andere Antenne gekauft mit welcher, der Empfang deutlich besser ist:
https://www.amazon.de/dp/B081JNCR4J?psc=1&ref=ppx_yo2ov_dt_b_product_details
Hallo Herr Seegel,
Ich habe bei Ihnen das „Twin-Modul“ bestellt um sowohl meine Intertechno Steckdosen 433MHz als auch meine Max! Heizungsregler in Homeassistant einzubauen.
Intertechno habe ich hin bekommen.>> Steiniger Weg, weil die Dokumentation über die verschiedenen Threads sehr verstreut ist und Paho-Mqtt in der 2.0.0 Version nicht zum Laufen zu überreden ist.
Überhaupt nicht klar komme ich mit den Max! Geräten:
Über die App „868gw.py“ bekomme ich bei 20kbit/s folgende Werte über die Konsole ausgegeben:
[131, 232, 223, 52, 142, 156, 238, 167, 168, 50, 15, 229, 222, 45, 253, 55, 16, 213, 66, 67, 24, 76, 169, 162, 140, 193, 51, 124, 194, 173, 89, 54, 211, 191, 33, 89, 184, 163, 240, 51, 178, 106, 203, 31, 152, 42, 246, 85, 95, 63, 224, 131, 136, 8, 88, 40]
[1, 234, 145, 211, 30, 246, 214, 36, 37, 76, 205, 89, 11, 172, 22, 109, 174, 110, 20, 0, 122, 78, 32, 65, 241, 195, 72, 63, 236, 173, 7, 7, 92, 229, 61, 207, 226, 70, 127, 73, 187, 44, 43, 148, 73, 95, 63, 241, 242, 122, 127, 30, 203, 110, 46, 218]
[78, 213, 161, 155, 204, 59, 102, 174, 154, 26, 117, 84, 171, 2, 104, 179, 21, 161, 6, 141, 48, 144, 24, 97, 212, 35, 141, 242, 234, 248, 123, 186, 69, 199, 213, 104, 68, 111, 66, 19, 76, 100, 170, 159, 250, 52, 76, 247, 212, 247, 223, 150, 213, 145, 49, 117]
ich vermute mal mit der App „maxrx.py“ kann man Max! Geräte decodieren. Der Start dieser App bricht bei mir ab mit:
„AttributeError: ‚Rfm69′ object has no attribute ’start_receive‘ “
Ich verwende einen RaspberryPi 3B mit aktuellem Debian Bookworm/Pi OS 64bit.
Ich wäre für den einen oder anderen Tipp sehr dankbar.
Gruß
Y.
Hallo,
es gibt einen „develop“ Branch im Git Repo, darin sollte der Empfang von Max! Geräten mit maxrax.py wieder klappen. Dort ist auch ein setup.sh, mit dem alles benötigte automatisiert installiert wird. In READMY.MD des Branches sind die Installationsschritte beschrieben, auf einem aktuellen Rasperry PI OS lite (64 bit) läuft alles problemlos durch.
Gruß
S>>
Hallo Herr Seegel,
leider schaffe ich es nicht, das RaspyRFM Modul in meiner Homeassistant Installation mit HA OS auf dem RaspberryPI zum laufen zu kriegen. Gibt es hierfür eine eigene Anleitung, oder ist es so schlicht nicht möglich und ich muss eine andere Art der Installation wählen?
Viele Grüße
Robert
Hallo,
das HA OS ist recht verschlossen, ich rate ein herkömmliches Raspberry PI OS zu installieren und HA z. B. in einem Docketcontainer laufen zu lassen.
Schöne Grüße aus Fürth
Stefan
Hallo Herr Seegel,
ich habe mich nun ein bisschen in das Thema paho.mqtt eingelesen und habe es tatsächlich geschafft ein einfaches Skript zu erstellen, das es mir erlaubt beliebige Funksteckdosen in Home Assistant einzubinden.
Grundsätzlich funktioniert es sehr gut, allerdings kann ich nicht beide Skripte parallel laufen lassen, da sie sich offenbar gegenseitig behindern.
Daher hatte ich gehofft Sie würden ihr Skript um diese Funktion erweitern, so hätten auch andere etwas davon 🙂
Wie gesagt ist das Prinzip sehr einfach, jedes Funksignal hat ein eigens Pythonskript (z. B. TV_on.py und TV_off.py), das Topic ist immer gleich bei allen Geräten (home/rcpulse/RcRaw/set) und das Paket ist der Name des Pythonskripts, das ausgeführt werden soll (z. B. TV_on.py).
In Home Assistant sieht das Gerät dann so aus:
mqtt:
switch:
– name: „TV“
command_topic: home/rcpulse/RcRaw/set
payload_on: TV_on.py
payload_off: TV_off.py
Und das Skript mit dem ich es zum laufen gebracht habe ist dieses hier:
import paho.mqtt.client as mqtt
import subprocess
# The callback for when the client receives a CONNACK response from the server.
def on_connect(client, userdata, flags, rc):
print(„Connected with result code „+str(rc))
# Subscribing in on_connect() means that if we lose the connection and
# reconnect then subscriptions will be renewed.
client.subscribe(„home/rcpulse/RcRaw/set“, qos=1)
# The callback for when a PUBLISH message is received from the server.
def on_message(client, userdata, msg):
print(msg.topic+“ „+str(msg.payload))
Nachricht = str(msg.payload)
Befehl = Nachricht[2:-1]
subprocess.run([„python“, Befehl])
client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message
client.username_pw_set(„username“, „password“)
client.connect(„192.168.0.200“, 1883, 60)
# Blocking call that processes network traffic, dispatches callbacks and
# handles reconnecting.
# Other loop*() functions are available that give a threaded interface and a
# manual interface.
client.loop_forever()
Hallo,
zwei Skripte können leider nicht gleichzeitig mit dem RaspyRFM kommunizieren. Am sinnvollsten wäre es rcprotocols.py um die entsprechenden Steckdosen zu erweitern.
Wenn ich es könnte würde ich es tun, aber Ihr rcprotocols.py Skript verstehe ich leider überhaupt nicht.
Hier wird ja offenbar nicht mit den Raw Codes gearbeitet die man auslesen kann.
Wäre meine Lösung nicht einfacher?Also auch für andere User von RaspyRFM, die andere Funksignale einbinden wollen?
Wie gesagt bin ich leider kein Programmierer, ich habe mir das Skript aus dem Internet zusammenkopiert.
Wenn ich den Aufbau Ihres Skripts verstehen könnte, dann könnte ich auch selbst versuchen meinen Code Ihren Skript hinzuzufügen, nur leider kann ich das nicht.
Daher würde ich Sie bitten mir noch dieses eine Mal zu helfen.
Hallo nochmal,
endlich habe ich es geschafft ihr Skript mit meinem zusammenzufügen und musste dafür nur 2 Anpassungen im rcpulsegw.py Skript vornehmen:
Am Anfang des Skript unter den anderen import Zeilen:
#Anpassung (1/2)
import subprocess
Der „def on_message“ Absatz muss nur mit diesem Block getauscht werden:
def on_message(client, userdata, msg):
tl = msg.topic.split(„/“)
tl = tl[len(MQTT_BASE_TOPIC.split(„/“)):]
# Anpassung (2/2)
if (msg.payload.decode()[-3:] == „.py“):
subprocess.run([„python“, script_dir + „/rcrawtx-codes/“ + msg.payload.d>
print(„RcRawTX from MQTT: “ + msg.payload.decode())
return
if (len(tl) < 2) or (tl[-1] != "set"):
return
proto = tl[0]
tl = tl[1:-1] + [msg.payload.decode()]
print("TX from MQTT: " + proto + " " + str(tl))
rctrx.send(proto, tl)
Damit es übersichtlicher wird habe ich im apps Ordner einen Unterordner namens "rcrawtx-codes" erstellt, in dem alle Python Skripte für die Raw Codes gespeichert sind.
Leider habe ich mich etwas zu früh gefreut und bin nicht wirklich viel weiter als vor 2 Wochen.
Es gibt nämlich ein für mich nicht nachvollziehbares Verhalten des Skripts.
Solange ich nur Steckdosen steuere die in rcprotocols.py enthalten sind oder nur Steckdosen steuere die über meine Code Zeilen implementiert wurden funktioniert alles ohne Probleme.
Auch beim Wechsel von rcprotocols.py Steckdosen auf meine Steckdosen klappt noch alles, doch sobald ich einmal Steckdosen über meinen Code geschalten habe und dann wieder versuche Steckdosen aus rcprotocols.py zu steuern, hängt sich das Skript auf.
Das macht für mich keinen Sinn, da ich keine Ihrer Variablen angerührt habe und mein Code ihr Skript in keinster Weise blockieren sollte.
Haben Sie eine Idee was dieses Verhalten verursachen könnte?
Hallo,
sie verändern zwar keine Variable, wohl aber den Zustand des Funkmoduls, wovon das im Hintergrund laufende Skript nichts mitbekommt, dann verhakt sich vermutlich der Mutex welcher für die Synchronisation des Sende- und Empfangsthreads dient.
Hallo Herr Seegel,
ich bin sehr begeistert vom dem RaspyRFM, vor allem weil nun Home Assistant auch erkennt, wenn man die Funkfernbedienungen benutzt.
Allerdings frage ich mich ob auch die neueren Brennenstuhl Funksteckdosen unterstützt werden?
Die Funksignale konnte ich erfolgreich empfangen, allerdings weiß ich nicht wie ich diesen Code dann in über mqtt als Switch in Home Assistant hinterlegen kann.
Können Sie mir helfen?
RX {‚raw‘: [300, 1250, 800, 800, 750, 850, 650, 850, 700, 900, 650, 850, 200, 1350, 200, 1300, 300, 1300, 250, 1300, 300, 1300, 800, 800, 250, 1300, 800, 800, 250, 1300, 800, 900, 700, 900, 150, 1350, 750, 850, 750, 850, 700, 850, 750, 900, 700, 900, 200, 1350, 3000, 7750]}
RX {‚raw‘: [350, 1250, 800, 800, 700, 800, 750, 850, 700, 850, 700, 850, 200, 1350, 200, 1300, 250, 1300, 250, 1250, 300, 1250, 800, 800, 250, 1300, 800, 850, 200, 1300, 800, 850, 700, 850, 200, 1300, 800, 800, 750, 850, 750, 850, 700, 900, 700, 850, 200, 1300, 2900, 4600]}
RX {‚raw‘: [250, 2100, 300, 300, 350, 1250, 800, 800, 750, 800, 700, 850, 700, 900, 650, 850, 200, 1300, 250, 1300, 250, 1250, 300, 1250, 250, 1300, 750, 800, 250, 1300, 750, 800, 250, 1300, 750, 900, 650, 800, 250, 1300, 750, 800, 750, 850, 700, 850, 700, 850, 700, 850, 200, 5650]}
https://www.amazon.de/Brennenstuhl-Funkschalt-Set-Funksteckdosen-Innenbereich-Kindersicherung/dp/B073W52CS8/ref=sr_1_5?keywords=brennenstuhl%2Bfunksteckdosen&qid=1682023781&sprefix=brennenstuhl%2Bfunkst%2Caps%2C82&sr=8-5&th=1
Hallo,
dieses Protokoll wird leider derzeit vom Code nicht unterstützt, dazu müsste das Script rcprotocols.py passend zu diesen Steckdosen entsprechend erweitert werden.
Das hatte ich befürchtet, programmieren ist leider nicht meine Stärke.
Wenn ich es nicht über mqtt einbinden kann, gibt es eine einfache Lösung das empfangene Signal über Home Assistant wiederzugeben?
Wenn ich es richtig verstehe kann man mit dem Skript rcpulse.py alle Signale empfangen und wiedergeben oder?
Falls dem so ist, ist es möglich zeitgleich beide Skripte zu betreiben?
Also das rcpulsegw.py für mqtt und das rcpulse.py für alle anderen Funksignale?
Hallo nochmal,
ich denke die beiden Dateien testrx.py und testtx.py sind dafür da andere Signale aufzunehmen und wiederzugeben, allerdings bekomme ich das testtx.py leider nicht zum laufen mit dem RAW Data Code, können Sie mir sagen was ich falsch mache?
#!/usr/bin/env python
from config import *
import time
while True:
print(„Sending testdata…“)
rfm.send([1050, 450, 300, 1200, 300, 1200, 300, 1200, 1050, 1950, 300, 1200, 300])
rfm.send([300, 450, 300, 2200, 1050, 450, 1000, 450, 1050, 400, 1050, 450, 1000])
rfm.send([900, 550, 900, 550, 900, 550, 900, 550, 900, 550, 900, 550, 900, 550])
time.sleep(2)
Nein, textrx und testtx empfangen bzw. senden Testdaten in FSK Modulation um eine Funkverbindung zwischen zwei RaspyRFM Modulen zu demonstrieren. Funksteckdosen arbeiten in OOK Modulation, darüber hinaus müssten die Impulslängen erst noch ein ein zeitdiskretes Signal umgerechnet werden. Ich habe eben ein Skript hinzugefügt mit dem eine RAW Impulsfolge gesendet werden kann, siehe rcrawtx.py
Herzlichen Dank für Ihr Skript, es funktioniert einwandfrei 😀
So kann ich nun alle Funksignale senden und empfangen.
Entschuldigen Sie die ganze Fragerei, aber nun hätte ich nur noch eine letzte Frage.
Was ist der sinnvollste Weg die Signale als Geräte in Home Assistant zu integrieren?
Ich erstelle nun für jedes Funksignal ein Python Skript, allerdings ist meine Home Assistant Instanz nicht auf meinem Raspberry Pi, daher muss Home Assistant irgendwie dem Pi mitteilen er soll das jeweilige Python Skript ausführen.
Vermutlich ist es über MQTT möglich oder?
Da wird um’s Programmieren leider kein Weg vorbeiführen.
Wow! Ich bin begeistert! Konnte dadurch meine Funkschalter in Homebridge per mqtthing einbingen.
Beispiel zum nachbauen:
„type“: „lightbulb-OnOff“,
„name“: „Lampe“,
„url“: „mqtt://127.0.0.1:1883“,
„topics“: {
„getOn“: „home/rcpulse/brennenstuhl/11000/1“,
„setOn“: „home/rcpulse/brennenstuhl/11000/1/set“
},
„integerValue“: false,
„onValue“: „ON“,
„offValue“: „OFF“,
„accessory“: „mqttthing“
Leider habe ich es nicht geschafft einen Dimmer einzubinden. Lediglich das Ein- und Ausschalten gelingt mir.
Sind Dimmer in den Gateway auch bereits berücksichtigt?
Hallo,
vielen Dank für das Feedback! Welche Dimmer verwenden sie? Können sie mit dem rcpulse Script eine Ausgabe sehen wenn sie den Dimmer mit der Originalfernbedienung steuern?
Hallo,
danke für die schnelle Antwort! Es handelt sich um eine Intertechno ITLR-200. Ich nutze leider keine Originalfernbedienung. Ursprünglich hatte ich den Dimmer mit der SteckerPRO App gesteuert.
Nun habe ich den Dimmer mit folgenden Befehl neu angelernt:.
/rcpulse.py -p intertechno -i 47113 -u 1 -a on
Vielen Dank!
Ich habe eine Dimfunktion für Intertecho zum Testen eingebaut:
https://github.com/Phunkafizer/RaspyRFM/tree/itdim
Können Sie mit dieser Version testen ob mit
./rcpulse.py -p intertechno -i 47113 -u 1 -a 95
das Licht gedimmt wird?
Vielen Dank für die neue Funktion!
Konnte es eben testen und hat einwandfrei funktioniert.