AllIn"One" JeeNode :LaCrosse ETH200comfort CUL_IR HX2272 FS20

Begonnen von ulli, 18 Dezember 2013, 18:22:54

Vorheriges Thema - Nächstes Thema

ulli

Hallo zusammen,

Ich freue mich euch meine Arbeit der letzten "Wochen" zur Verfügung stellen zu dürfen.
Derzeit nutze ich zwei JeeNodes die über eine Software Uart verbunden sind. Einer der JeeNodes fungiert als Master, welcher über die Standard Uart mit dem Rechner/FHEM verbunden ist. Der andere als Slave, welcher alles über die SW-Uart durch den Master schleift.
Ein Foto der Jeenode Konfuguration ist im Anhang.

Die JeeNode Software unterstützt folgende Protokolle:
* [LaCrosse] Temperatur/Feuchte Daten der LaCrosse Module   
     --> FHEM verarbeitet die Daten über das vorhandene 36_LaCrosse.pm Modul
* [ETH200comfort] Ansteuerung der ETH200 comfort oder eQ3 Heizungsthermostaten   
     --> neues FHEM Modul im Anhang zu finden 36_ETH200comfort.pm
* [IR] Senden & Empfangen von IR Signalen "aller" Protokolle
     --> FHEM verarbeitet die Daten über das vorhandene 10_CUL_IR.pm Modul
* [HX2262] Senden & Empfangen von Funksteckdosen mit HX/PT2262 oder HX/PT2272 Chips aus dem Baumarkt
    --> neues FHEM Modul im Anhang zu finden 36_HX2272.pm
* [FS20] Empfangen von FS20 Signalen
     --> FHEM verarbeitet die Daten über das vorhandene 10_FS20.pm Modul

Für all die Funktionen habe ich euch auch die Arduino Quellen angehängt.
Ihr könnt den Quellcode in der config.h über folgende Defines konfigurieren.
 
  #define MASTER              0
 
  #if MASTER
    #define RFM12_OOK         1
    #define RFM12_FSK         0
    #define RFM12_FREQ        RF12_433MHZ
    #define IR                1
    #define SOFTWARE_UART     1
    #define REMOTE            1
    #define LEDs              1
  #else
    #define RFM12_OOK         1
    #define RFM12_FSK         1
    #define RFM12_FREQ        RF12_868MHZ
    #define IR                0
    #define SOFTWARE_UART     1  // Leitet im Slavebetrieb alle prints auf die SW Uart um
    #define REMOTE            1
    #define LEDs              0
  #endif

Generell gilt:
* 0 bedeutet deaktivert / 1 aktiviert
* Master ermöglich nur zwei unterschiedliche Konfigurationen schnell zu switchen.

Ich hoffe ihr kommt soweit zurecht, wenn nicht einfach schreiben....
Es würde mich sehr freuen wenn die Arbeit in FHEM als fester Bestandteil mit einfließen und Ihr einiges Verwenden und Testen könnt.

Viele Grüße,
  Ulli

(PS: für die Funksteckdosen und FS20 Signale müsst Ihr natürlich den Kondensator anpassen, da OOK Signal. :) )

UPDATE: Im Anhang die aktuellste Version:
(schon vorkompiliert, da es in der Vergangenheit Probleme beim Kompilieren hab)

1) HomeControl-868MHz_Buzzer, OKK,FSK.hex
   Beinhaltet ETH200comfort, LaCrosse, FS20, Buzzer
2) HomeControl-433MHz_LED,OOK,IR.hex
  Beinhaltet HX2262, IR

Einfach mit folgendem Kommando flashen:
   avrdude -b 115200 -p m328p -P /dev/ttyUSB0 -c arduino -F -u -U flash:w:HomeControl-868MHz_Buzzer, OKK,FSK.hex
   avrdude -b 115200 -p m328p -P /dev/ttyUSB0 -c arduino -F -u -U flash:w:HomeControl-433MHz_LED,OOK,IR.hex
ggf. /dev/ttyUSB0 anpassen auf die serielle Schnittstelle die Ihr habt.

Viel Spass damit!

rudolfkoenig

Beeindruckend.
Was ich noch nicht verstanden habe: sitzen die zwei JeeNodes auf einem Arduino?

justme1968

das was wie ein arduino ausschaut sind die beiden jeenodes :)

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

ph1959de

@Ulli: Im Betreff nennst Du PCA301, später taucht das aber nicht mehr auf. Vergessen? Oder im Betreff übertrieben?  ;)

Ansonsten: hört sich sehr gut an...
Peter
Aktives Mitglied des FHEM e.V. | Moderator im Forenbereich "Wiki"

ulli

Das sind zwei JeeNodes. Diese können aber mit der Arduino Plattform programmiert werden.
Da ich auf das bestehende FHEM Jeelink.pm Modul zurückgegriffen habe und dies erweitert habe unterstützt dieses von Seiten FHEM natürlich noch PCA301, EC3000 und RoomNode.
Ich kenne die Geräte nicht, daher kann ich euch nicht sagen ob sich diese schnell integrieren lassen in die JeeNode Sourcen.

justme1968

vielleicht kannst du dein geändetrtes jeelink modul noch so ändern das für die lacrosse sensoren die formate beider sketches verstanden werden. also diese beiden:   "4:LaCrosse" => "^\\S+\\s+9 ",
   "4:LaCrosse" => "^F01[A-F0-9]{8}\$",       #F019205396A


dann würde ich deine erweiterungen ganz normal mit einchecken.

was ich gerne noch machen würde ist abhängig vom sketch jeweils die client liste und die set liste dynamisch zu ändern.

ach ja und fs20 senden. angeblich kann der jeelink demo sketch das, ich hab es aber mit keinem versuch zum laufen zu bekommen. d.h. er scheint zwar zu senden aber ich kann es mit einem cul nicht empfangen. hast du da eine idee?

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

locutus

@Ulli
Sehr inspirierend, vielen Dank!

@justme1968
Er scheint nicht nur zu senden, er sendet tatsächlich. Meine FS20 Aktoren werden angefunkt. cul kann mit den RFM12 Datenpaketen nichts anfagen.

justme1968

dann muss ich mal weniger faul sein und auch zum aktor hin laufen und schauen :)

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

thosch

Hallo Ulli.
Das sieht mal richtig klasse aus. Kannst du hier bitte ein wenig detaillierter werden?
Welcher Kondensator?

Gruß Thorsten

Zitat von: ulli am 18 Dezember 2013, 18:22:54

(PS: für die Funksteckdosen und FS20 Signale müsst Ihr natürlich den Kondensator anpassen, da OOK Signal. :) )


locutus

RFM12B ist mit einem C_arrsi Kondensator ausgerüstet. Dieser Kondensator muss ersetzt werden. Empfohlen werden: 150-300pF

ulli

locutus: genau den Kondensator meinte ich. Ich habe 150pF verbaut und damit gute Ergebnisse erziehlt.

justme1968: guter Punkt. ich habe in anhängendem Modul folgendes ergänzt.
my %matchListPCA301 = (
    "1:PCA301" => "^\\S+\\s+24",
    "2:EC3000" => "^\\S+\\s+22",
    "3:RoomNode" => "^\\S+\\s+11",
    "4:LaCrosse" => "^\\S+\\s+9 ",
    "5:LaCrosse" => "^F01[A-F0-9]{8}\$",
    "6:CUL_IR" => "^I............\$",
    "7:HX2272" => "^O01[A-F0-9]{4}\$",
    "8:FS20" => "^O02[A-F0-9]{8}\$",
);


FS20 Kommandos senden dürfte kein großes Problem sein. Ich kann es nur nicht testen, da ich nur einen FS20 Wandschalter habe und keine Empfänger....


Billy

@ulli,
deine Entwicklung hat mich veranlasst mal in meine alte Jee-Kiste zu schauen!
ZitatDerzeit nutze ich zwei JeeNodes die über eine Software Uart verbunden sind. Einer der JeeNodes fungiert als Master, welcher über die Standard Uart mit dem Rechner/FHEM verbunden ist. Der andere als Slave, welcher alles über die SW-Uart durch den Master schleift.
Da war noch ein Jeenode und ein Jeenode usb. ;D
(http://jeenode%20und%20jeenode%20usb.jpg)
Jetzt nehme ich mal an dass diese Kombination mit deiner Software auch funktioniert oder müsste da was verändert werden?
Der Jeenode usb könnte dann als Master direkt über usb an mein BBB angeschlossen werden?
Ich nehme an der sketch HomeControl muss auf beide aufgespielt werden?

Und noch eine Frage?
Zitat* [IR] Senden & Empfangen von IR Signalen "aller" Protokolle
Wie muss ich mir das vorstellen, da fehlt doch noch ein IR-Empfänger?
Sorry für meine vielen Fragen.

Danke im Voraus.

Billy



FHEM immer akt. auf 3 BeagleBoneBlack: 2xHMLAN 2xJeelink ;10x HM-CC-TC, 13x HM-CC-VD, 1x HM-ES-PMSw1-Pl, 3x HM-LC-SW1-PL2, viele ESP8266, Tasmota Scripting, Mqtt*

ulli

@Billy:

Die IR-Diode und den IR-Empfänger wie in folgendem Link verschalten:
https://www.mikrocontroller.net/articles/IRMP

Auf beide JeeNodes muss HomeControl drauf, nur mit unterschiedlicher Konfiguration. --> config.h
Du kannst das Master define verwenden und zwei mal kompilieren und uploaden.
LED Funktion vorab einfach mal aus und ggf. die SW-Uart Pins anpassen.
Die IR Pins findest du in irmpconfig.h und irsndconfig.h im libraries/myIRMP Verzeichnis. Diese würde ich aber nicht ändern!

Viel Erfolg und gib mir eine Rückmeldung.

(Ich werde im nächsten Schritt auch alles an den BBB hängen, sobald ich Ihn bekommen habe.)

Billy

@ulli
Danke.
Noch eine Frage. die beiden Nodes sind wenn ich dein erstes Bild richtig interpretiere nur durch den Widerstand
(?Ohm?) und durch die gelbe Brücke verbunden?
Oder fehlt da noch was?
Das Bild ist leider an den entscheidenden Stellen nicht ganz aussagekräftig.

ZitatViel Erfolg und gib mir eine Rückmeldung.
Kann ich leider erst nach Weihnachten. (Zeitproblem)

Gruss Billy
FHEM immer akt. auf 3 BeagleBoneBlack: 2xHMLAN 2xJeelink ;10x HM-CC-TC, 13x HM-CC-VD, 1x HM-ES-PMSw1-Pl, 3x HM-LC-SW1-PL2, viele ESP8266, Tasmota Scripting, Mqtt*

ulli

Nein.
Der Widerstand ist für die RFM OOK Signalinterpretation notwendig.
BEschrieben unter: http://jeelabs.net/projects/cafe/wiki/Receiving_OOKASK_with_a_modified_RFM12B

Die beiden JeeNodes sind über 4 Pins verbunden:
Spannungsversorgung (Master versorgt Slave mit Spannung)
Masse
Uart TX Pin -> in Config.h wählbar
Uart RX Pin -> in Config.h wählbar