[Gelöst] Westinghouse Deckenventilator mit 433 MHz Modul steuern

Begonnen von ErzGabriel, 11 Mai 2016, 20:01:40

Vorheriges Thema - Nächstes Thema

WotSefak

Unsere Westinghouse-Propeller sind IR-gesteuert, da hat es wohl zwischenzeitlich einen Technik-Sprung gegeben. BTW: wähle ich auf der FB unseres Sony Bravia das 2te Programm, geht das Licht am Ventilator an ;-)

ErzGabriel

Ne, gibt noch keine Neuerungen zu berichten, weil ich habe ja auch andere Dinge zutun.
Bis jetzt kann ich sagen, es gibt kein fertiges Protokoll dafür und es werden nur MU-Codes angezeigt.

@monosurr0und: Kannst dich aber gerne an der Lösung beteidigen.

monosurr0und

#32
Ja dazu wäre es interessant zu wissen ob du mit deinem SIGNALduino Erfolg hattest und wo man sonnst noch ansetzen könnte.

Mit einem mediola Gateway scheint das ja zu funktionieren. Kann man dieses Protokoll einem Jeelink beibringen? Oder irgendwie für deutlich unter 180€ umsetzen? Das wäre mir die Integration eines Aktors nun wirklich nicht wert....

pS: den Hersteller habe ich mal angeschrieben, da ist keine Hilfe zu erwarten. Auslesen mit RFSniffer habe ich auch schon versucht...habe schon überlegt auf Infrarot umzustellen...wäre sicher einfacher nur mit der Reichweite der IR Dioden habe ich keine guten Erfahrungen am Pi gesammelt :/

ErzGabriel

Wie ich bereits im Post 31 sagte, habe ich außer MU-Codes noch nichts erreicht. Bis jetzt hat weder den Ventilator, noch das Licht geschafft zu schalten.
Da ich im Moment aber auch anderweitig beschäftigt bin, habe ich die letzten Wochen nicht wirklich intensiv weiter versucht.

mrmoritz

Hi, ich kann gerne bei der Dekodierung helfen. Möchte meinen Westinghouse Ventilator extern ansteuern. Mir schwebt ein Schlummermodus vor, mit 10s Stufe 1, dann 30s Pause etc. Durchgehend Stufe 1 find ich schon zu kalt. Hat jemand von euch die Tastensignale gesnifft?

Viele Grüße
Moritz

ErzGabriel

Beim sniffen mit Arduino habe ich folgendes erhalten.
Lampe aus = MU;P0=-170;P1=1027;P2=-508;P3=515;P4=2036;P5=-1008;D=0012321232121232123232321232321232323232123212321232121245;CP=3;
Lampe an = MU;P0=-170;P1=1027;P2=-508;P3=515;P4=2036;P5=-1008;D=0012321232121232123232321232321232323232123212321232121245;CP=3;#2016-06-04 12:48:12-MU;P0=-100;P1=-546;P2=1216;P3=559;P4=184;D=012131213131312131312131313131213121312131214031402;CP=3;

Ventilator off =

Ventilator Stufe low = MU;P0=1788;P1=503;P2=-530;P3=1020;P5=-1020;D=1232123232123212121232121232121212121212123232121212052023232121212321232123232123212121232121232121212121212123232121212050232321212123212321232321232121212321212321212;CP=1;

Ventilator Stufe med = MU;P0=-517;P1=1552;P2=1035;P3=504;D=01020203030302030203020203020303030203030;CP=3;

Ventilator Stufe hi = MU;P0=-526;P1=1005;P2=504;P3=2036;P4=-1024;P5=1540;D=010102020201020102010102010202020102020102020202010202020102020203450101020202010201020101020102020201;CP=2;


Mehr habe ich dazu nicht, weil ich im Moment auch keine Zeit zum basteln habe und nutzen will. Ist schließlich Sommer und da bin ich lieber draußen wie in der Wohnung.

mrmoritz

Das ist ja ein Traum, vielen Dank. Mal sehen, was ich daraus machen kann.
Gruß
Moritz

ErzGabriel

Nur leider gab es keinen Code bei Ventilator aus, deswegen wüsste ich nicht wie man es sinnvoll nutzen kann. Schließlich muss man den Ventilator ja auch ausschalten können.

mrmoritz

#38
Hab die Fernbedienung mal geöffnet. Drin ist ein einfacher Holtek HT12E Modulator IC. Wie der arbeitet und wie das Protokoll aussieht, ist im Datenblatt beschrieben. Ich habe das mal hier zusammengefasst und auf der Platine nachverfolgt, welches Signal an welchen Datenpin gehört:
https://docs.google.com/spreadsheets/d/1XAccLdjGYPIx_vAiJNy-jRU8ZbadNA3Cn1PlnuI0ncg/edit?usp=sharing

Der Modulationstakt sind 3,75kHz, also 266,7µs pro Bit. 0 - 1 - 1 entspricht logisch 0 und 0 - 0- 1 entspricht logisch 1.
Das Datenpaket besteht aus einer festen 12bit Präambel gefolgt von drei mal dem gleichen 12 Bit Wort.

Damit sollte es einfach sein, das Protokoll nachzubauen. Ich muss mir noch einen 433MHz Sender besorgen und dann setze ich das mal in Code um.

Vielleicht hilft das jemandem weiter und jemand kann das bei Gelegenheit schonmal auf einer Hardware testen.

Gruß
Moritz


P.S.: Ich kann mir gut vorstellen, dass sehr viele billige 433MHz-Fernbedienungen auf genau diesem Chip und diesem Protokoll arbeiten.

mrmoritz

Hi zusammen,

hab das ganze nun zum Laufen gebracht. Kann den Ventilator steuert, Lampe schalten, dimmen, etc...
Das Protokoll entspricht erwartungsgemäß nicht den Angaben im Datenblatt, wäre ja auch viel zu einfach gewesen.   >:(
Habe also die 433MHz mitgehört und hier das Update vom Protokoll:
https://docs.google.com/spreadsheets/d/1XAccLdjGYPIx_vAiJNy-jRU8ZbadNA3Cn1PlnuI0ncg/edit?usp=sharing

Gesndet werden 13 Bit, jedes Bit ist 3 Bitzeiten lang.
Eine Bitzeit darf zwischen 100 und 500us lang sein, da ist der Empfänger sehr tolerant.

Ich habe das ganze in C auf einem ARM Mikrocontroller implementiert. Würde euch das für euer FHEM System helfen? Würde natürlich gerne dazu beitragen, dass das Protokoll nun auch in FHEM gesprochen werden kann, habe da bisher aber keine Erfahrung. Bin über Google auf der Suche nach den Westinhouse-Codes auf eure Seite gestoßen.

Gruß
Moritz

ErzGabriel

Hallo Moritz.
Das hört sich interessant an. Der Haken liegt jetzt nur da, das ich mich mit Mikrocontrollern null auskenne. Aber mit Deiner Hilfe, kriege ich da vielleicht was hin, weil eine Idee für den Ansatz hätte ich. Schaue Dir doch mal bitte diesen Link an:
https://www.mysensors.org/about/
Soweit mein bescheidenes Wissen über Mikrocontroller reicht, sind die Arduinos Mikrocontroller und die kriegt man in Fhem eingebunden und gesteuert. Wenn man also Deine Programmierung auf den Arduino übertragen kann, kann man das ganze in Fhem einbinden.
Sofern ich das richtig verstehe, bräuchte ich dann nur 2 Arduinos, 2 2,4 GHz Antennen und einen 433 MHz Sender. Sollte ich da jetzt richtig liegen, das man es damit auch machen kann, bestelle ich die Bauteile und teste es gerne.

Gruß Marcus

mrmoritz

Hi Marcus,

der Arduino wird völlig ausreichen, um das Ventilator-Protokoll zu sprechen. Allerdings finde ich die Variante mit den 2 Arduinos und der 2,4GHz-Übertragung etwas oversized.

Ich hab mich mal in eurem Wiki umgesehen:
http://www.fhemwiki.de/wiki/Arduino
Dort ist auch ein Beispielcode für den Arduino drin, mit dem die Digitalen IOs vom Arduino gesteuert werden. Da könnte man sehr einfach Kommandos für den Ventilator ergänzen, z.B. cmd=set_vent_level_low oder cmd=set_vent_level_high oder cmd=set_vent_light

Für den Arduino braucht man dann noch zwei Hardware-Erweiterungen:
1x Netzwerkanbindung über Ethernet oder WLAN
1x 433Mhz Sender
(ich verwende diesen: http://www.ebay.de/itm/261515875537?_trksid=p2060353.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT)

Dann lässt sich der Ventilator über Ethernet ansteuern.

Auf meinem Entwicklungsboard kann ich prinzipiell auch Arduino-Code nutzen.
Dieses Board nutze ich: http://www.ti.com/tool/ek-tm4c1294xl#buy
Meine Ansteuerung in C könnte ich also auch in Arduino-Routinen umsetzen und beisteuern. Ich hab auf dem Board auch Ethernet, könnte diese Anbindung also auch testen.

Gruß
Moritz

ErzGabriel

Hallo Moritz.
Das man zwei Arduinos war jetzt auch ne Vermutung von mir. Das ist nämlich nicht meine Materie.
Den Arduino kann man in Fhem auch per USB anschließen und steuern, dann bräuchte man vielleicht auch kein Ethernet oder WLan.
Also ein Arduino, den 433MHz Sender habe ich schon hier. Habe alles an einem RPi angeschlossen und mit Linux kenne ich mich ein wenig aus, dann verlassen sie mich aber.

Gruß Marcus

heikoh81

#43
Hallo zusammen,

ich habe auch so einen Westinghouse Deckenventilator mit 433Mhz-Fernbedienung.
Es war zwar ein riesen Act bis ich die Codes mit Pilight-Raw hatte (da ich nur den billigen Empfänger ohne Störfilter habe und deswegen jede Menge Datenmüll empfangen wird), aber bei mir funktioniert es problemlos.
Ich verwende Pilight, das via FHEM über System-Befehl aufgerufen wird. Damit steuere ich auch zahlreiche Pollin-Steckdosen. Ich verwende ein 433Mhz für 2€ aus China, die findet man zuhauf bei Ebay etc.
Update: Das 433Mhz-Sendemodul hängt am GPIO eines Raspi3, zusätzlich liegt am Sender 12V Spannung an, um die Reichweite zu erhöhen (Stahlbeton-Decken und Stahlgeflecht in den Außenwänden).

Da ich mal davon ausgehe, dass ihr nicht meine Nachbarn seit und meinen Ventilator stört, poste ich hier mal die funktionierenden Codes für Hauscode: 0 0 1 1
(0 = DIP-Schalter unten, 1 = DIP-Schalter oben)

Ventilator Aus:
system("sudo /usr/local/bin/pilight-send --server=127.0.0.1 -P 5000 -p raw --code=\"242 484 242 484 242 484 242 484 242 484 242 242 484 484 242 484 242 484 242 484 242 242 484 242 484 8228\"");

Ventilator Stufe 1:
system('sudo /usr/local/bin/pilight-send --server=127.0.0.1 -P 5000 -p raw --code=\"242 242 484 484 242 484 242 484 242 484 242 484 242 484 242 484 242 484 242 484 242 242 484 242 484 8228\"');;

Ventilator Stufe 2:

system("sudo /usr/local/bin/pilight-send --server=127.0.0.1 -P 5000 -p raw --code=\"243 486 243 486 243 486 243 243 486 486 243 486 243 486 243 486 243 486 243 486 243 243 486 243 486 8262\"");


Ventilator Stufe 3:

system("sudo /usr/local/bin/pilight-send --server=127.0.0.1 -P 5000 -p raw --code=\"242 484 242 484 242 484 242 484 242 242 484 484 242 484 242 484 242 484 242 484 242 242 484 242 484 8228\"");


Viele Grüße,
Heiko

mrmoritz

#44
Hi,
das ist ja noch besser, dann braucht es gar keine Firmware und keinen Microcontroller.
Ich habe in das Sheet noch einen Generator für den Pilight Code eingebaut.
https://docs.google.com/spreadsheets/d/1XAccLdjGYPIx_vAiJNy-jRU8ZbadNA3Cn1PlnuI0ncg/edit?usp=sharing
Den kann man dann einfach per Copy&Paste übernehmen.
Danke!

Gruß
Moritz


EDIT: Übrigens: Das Infrarot-Protokoll ist exakt identisch, es ist lediglich ein 38kHz Carrier überlagert, wenn das Signal auf High Level ist.

@heiko81: Noch eine Frage: Pilight sendet das Frame dann genau ein Mal? Ich muss das Frame mindestens 4 Mal, besser 6 Mal wiederholen, damit es akzeptiert wird.