FHEM+Arduino Firmata 433 Mhz Sender+Funksteckdosen mit Dezimal-Code

Begonnen von pinguin, 04 November 2016, 10:04:43

Vorheriges Thema - Nächstes Thema

pinguin

Hallo,

ich bin auf dem Gebiet der Hausautomatisierung absoluter Neuling. Ich habe mir diesbezüglich schon diverse Anleitungen und Beiträge durchgelesen. Jetzt bin ich aber an einer Stelle an der ich nicht weiter komme.

Gegenwärtiger Zustand:
Ich habe auf einen Rechner FHEM (5.7) installiert. Als nächstes habe ich auf einem Arduino Nano den Sketch ,,RCSwitchFirmata"

https://github.com/git-developer/RCSwitchFirmata/tree/master

installiert und in FHEM die fehlenden Dateien aus dem Repo hinzugefügt. Das hat soweit alles geklappt. Nun möchte ich mit dem Nano über ein 433MHz-Modul die Funksteckdosen steuern.

Die Steckdosen sind von Renkforce:

https://www.conrad.de/de/funk-schalter-set-2teilig-innenbereich-renkforce-1208455-1208455.html

und haben keine DIP-Schalter für die Codierung. Die Steckdosen werden über die Fernbedienung angelernt und verwenden eine Dezimalzahl.

Bisheriges Vorgehen / Tests:
Ich habe zuvor die Steckdosen über die Fernbedienung angelernt und habe die Codes mit Hilfe eines Recivers aufgezeichnet:

Received 1381717 / 24bit Protocol: 1 (AN)
Received 1381716 / 24bit Protocol: 1 (AUS)


Tests die Dosen mit Hilfe des Nanos zu schalten verliefen mit Hilfe dem Sketch ,,SendDemo" aus dem Projekt ,,RC-Switch" erfolgreich.

Danach habe ich aus dem Projekt ,,RCSwitchFirmata" (s.o.) den Sketch entsprechend der Anleitung installiert und den Nano in FHEM eingebunden.

Ziel:
Ich möchte nun mit dem Nano, dem Transmitter und FHEM die Funksteckdosen steuern. Ich  habe in ,,fhem.cfg" von FHEM folgende Einträge vorgenommen:

...
define firmata FRM /dev/ttyUSB3@57600
define rc_sender FRM_RCOUT 2
attr rc_sender IODev firmata


Sowohl bei ,,firmeta" als auch bei ,,rc_sender" seht ,,initialized". Nun geht es darum die Steckdosen zu Steuern. In den Beispielen die ich gefunden habe ist immer folgendes aufgeführt:

define switch IT 0FF00F0F0F 0F 00
attr   switch IODev rc_sender


Das passt jedoch nicht zu meinen Dosen. Diese wollen ja mit dem Dezimal-Code angesteuert werden.

1381717 = AN
1381716 = AUS

Meine Bitte:
Ich stehe absolut auf dem Schlauch wie ich in FHEM die Steckdosen mit dem Dezimal-Code definiere bzw. diese ansteuern kann.

Ich habe schon etliche Stunden mit dem suchen nach einer Lösung verbracht. Leider ohne Erfolg.

Wäre Klasse wenn mir der eine oder andere die Lösung für mein Problem aufzeigen kann und Licht ins Dunkle bringt.

Danke und viele Grüße

Torsten

Christian.

Hallo Torsten,

zwei Ideen:

1.) Öffne in FHEM die Detail-Seite des Senders und probier dort mal, Deinen Wert als longCode zu senden:
set rc_sender longCode 1381717

2.) Hast Du evtl. auch einen Empfänger? Dann könntest Du zunächst versuchen, die Signale Deiner Fernbedienung in FHEM zu empfangen. Das zugehörige FHEM-Modul FRM_RCIN zeigt Dir dann nämlich den passenden TriState-Code an, den Du wiederum für das Senden verwenden kannst. Dazu müsstest Du das Empfänger-Bauteil an Pin 2 des Arduino anschließen (weil er Interrupt-fähig ist) und das Sender-Bauteil an einen anderen Pin, z.B. Pin 11. In FHEM würde das dann wie folgt definiert:

define rc_receiver FRM_RCIN 2
attr   rc_receiver IODev firmata
define rc_sender FRM_RCOUT 11
attr   rc_sender IODev firmata

Auf der FHEM-Detail-Seite des Empfängers werden alle empfangenen Signale dann angezeigt.
Raspberry Pi 3 mit FHEM; Arduino Nano mit ConfigurableFirmata (S0-Stromzähler); nanoCUL (MAX!); SIGNALduino (RXB6, 433 MHz); eBus; RS485 & D0 (SolarView); DVB-T (Thermo-/Hygrometer); Z-Wave; ZigBee

pinguin

Hallo Christian,

riesen Dank für Deine Unterstützung und Deine Erklärung. Jippie..., es geklappt :) Mir war nicht klar das "RCIN" auch den TriState-Code ausgibt.

Viele Grüße

Torsten