FHEM - Hausautomations-Systeme > SlowRF

Arduino FS20 / FS20V / RFM69 library

(1/2) > >>

Noname:
Hallo,

ich stelle meine FS20 Arduino library für die Öffentlichkeit zur Verfügung.

Ich selbst habe noch FS20 Komponenten mit Rollo Aktoren, Funksteckdosen, Wetterstation usw. in Verwendung.
Alles funktioniert trotz LTE ohne Probleme, deswegen werde ich auch nicht auf Homematic oder ähnliches umstellen.
Da ich einige FS20 "Spezial" Aktoren benötigte habe ich meinen alten "BASECOM-AVR" Code versucht in eine
Arduino libary umzustellen. In "BASECOM-AVR" habe ich das RFM12 verwendete, für Arduino habe mich für den Nachfolger,
RFM69 entschieden.

Da ich das erste mal mit Arduino zu tun hatte, kann man sicherlich einiges einfacher Programmieren,
für Verbesserung bin ich immer offen!

Was kann man damit alles machen:
- Senden und Empfangen von FS20 (Standard ELV)
- Senden und Empfangen von FS20V (Messwertverarbeitung)

Als Beispiel sind 2 Projekte mit in der Libary:
- FS20_RFM69_SHT11_LowPower (Senden von Temperatur und Luftfeuchtigkeit, Batteriebetrieben)
- FS20_RFM69_mit_ext_Versorgung (Senden eins Zähler und Empfang eines Sollwert, Netzteil)

Meine Projekte:
- Mengenabhängige Bewässerung für die Terrasse
- Überwachung Garagentor mit Steuerung
- Temperatur und Feuchtigkeitssensor

bananas:
Hallo,
schöne Lösung.
Ich habe deinen Code mal in einem 1-Kanal-Empfänger untergebracht und dabei den Hauscode, wie auch die Adresse im EEprom gespeichert. Hierbei ist mit allerdings aufgefallen, dass nicht alle Adressen gelesen (erkannt) werden.
Beispiel:  die FS20 Adresse 2211 (50)  funktioniert, die Adresse 2234 (5b) wird nicht erkannt. Das geschieht auch noch bei einigen anderen Adressen. Irgendwo muss da noch ein Fehler in der RFM69SlowRF stecken.
Das ist auch in deinen Beispielen so. Ist dir das auch mal aufgefallen?

Noname:
Hallo,

hatte heute erst deine Nachricht bemerkt.

Ich habe das Beispiel FS20_RFM69_mit_ext_Versorgung.ini mit Adresse 5B getestet,
ich kann leider kein Fehler feststellen. (Arduino-1.8.12)

Ich habe den Wert 123 in Fhem gesetzt, der ist auch im Atmega angekommen.
Sofort nach dem Empfang wurde der Wert 0 zu Fhem zurückgesendet, war auch OK.

define Test_5b FS20V ABCD 5B
attr Test_5b IODev CUL
attr Test_5b model FS20V_Set
attr Test_5b room Test

siehe Arduino Werkzeug, Serieller Monitor:

14:33:35.526 -> Receive HC:ABCD ADR:5B BEF:80 ERW:7B Value:7B
14:33:37.532 -> Receive Value:123
14:33:37.581 -> init RFM69
14:33:37.581 -> 1 - 84 - 10000100
14:33:37.581 -> 2 - 68 - 1101000
14:33:37.581 -> 3 - 3 - 11
14:33:37.581 -> 4 - D1 - 11010001
14:33:37.581 -> 7 - D9 - 11011001
14:33:37.581 -> 8 - 16 - 10110
14:33:37.581 -> 9 - 66 - 1100110
14:33:37.581 -> 11 - 7F - 1111111
14:33:37.581 -> 13 - F - 1111
14:33:37.581 -> 19 - 4A - 1001010
14:33:37.581 -> 1B - 40 - 1000000
14:33:37.581 -> 29 - DC - 11011100
14:33:37.581 -> 1 - 8C - 10001100
14:33:37.581 -> 5A - 5D - 1011101
14:33:37.581 -> 5C - 7C - 1111100
14:33:38.129 -> send FS20_Receive_Value Result: 1
14:33:38.129 -> receive FS20

bananas:
Ich habe den Eintrag:


--- Zitat ---if ((FS20_RX_Pos == 58 && FS20_RX_Bit[38] != 1 && FS20_RX_Bit[40] != 1) || FS20_RX_Pos == 67)
--- Ende Zitat ---

in

--- Zitat ---if ((FS20_RX_Pos == 58 && FS20_RX_Bit[38] <= 1 && FS20_RX_Bit[40] != 1) || FS20_RX_Pos == 67)
--- Ende Zitat ---

geändert. Damit werden auch alle Adressen geprüft, wo das Erweiterungsbit 1 ist.  ;D

Gruß

KölnSolar:
Ich verlinke mal diese tolle Arbeit in die Bastelecke.
Grüße Markus

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln