Hallo zusammen, ich habe hier eine Wetterstation herumliegen, die mit der Basisstation ueber GND/DATA mit 5V-Pegeln "spricht". Leider macht die Basisstation die Grätsche, sodass ich mich an das "Reverse-Engineeren" des Protokolls gemacht habe, um die Daten anschliessend mit einem mC (Arduino) auszulesen und auszuwerten. So wie es aussieht ist hier eine umgekehrte Logik mit einer 833us Pulsweite Trumpf. Komme allerdings trotzdem keinen Schritt weiter - vielleicht hat jemand hier aus dem Forum eine Idee. Ein paar Randinfos noch: - Das "Telegramm" wird jede Sekunde übertragen. - An Sensorik ist folgendes vorhanden, was (vermutlich) hier auch in dem Screenshot enthalten ist. Ob darüber hinaus noch etwas übermittelt wird -> keine Ahnung: 1. bis 3.) 3 x Sonneneinstrahlung in KiloLux (Hier: 10,21 und 19 KiloLux) 4.) Temperatur (Hier: 13 Grad bei Oszillografie) 5.) Luftfeuchtigkeit (Hier im Diagramm muesste eine 44% herauskommen) 6.) Regen (Ja/Nein) (Hier: Nein) 7.) Windgeschwindigkeit (Leider nicht notiert) Mir würde es schon helfen, wenn mir jemand auf die Sprünge helfen könnte wie ein Byte/Nibble hier zu lesen ist. Zur Grafik: - Das "rote" ist nur ein invertiertes "grünes" :-) - Start ist bei 40.000ms im Diagramm (gtkwave auf dem Mac ist irgendwie creepy) Ich sag schonmal danke im vornherein. Viele Grüsse aus dem Rheinland Jörg
:
Verschoben durch Admin
So wird das nichts. Für ganz viele verschiedene Eingangswerte (Temperatur/Wind usw) das Telegramm aufnehmen, in logisch 1/0 umwandeln (einfach ablesen) und dann reverse engineeren und/oder hier posten. Besonders "wertvoll" sind Telegramme zwischen denen sich nur ein Wert (z.B. Wind) ändert.
Garnicht so trivial. Bei der Masse an Sensoren die an dem Teil hängt. Wenn ich wenigstens wüsste woran ich eine 0/1 oder ein Startbit identifizieren könnte - dann liesse sich etwas gezielter auf die Suche gehen. Nun gut. Habe es mal versucht. Von oben nach unten: 1. bis 3.) Vermutlich nur Temperaturwechsel (nach oben) - weil Wetterstation mit Karton zugedeckt. Ob sich die Luftfeuchte verändert hat kann ich nicht sagen. Müsste aber alles marginal sein. Bild 4.1) Karton noch drauf Bild 4.2) Karton runter - und somit Lichteinstrahlung (auf allen 3 Helligkeitssensoren - lässt sich leider nicht vermeiden) - Hier ist auch bereits beides invertiert. Die Helligkeitsdinger müssten demach ziemlich am Ende des Telegramms sein.
Hab derweil alles durch und hänge trotzdem noch. Auffälligkeiten: - LowPulse: 750uS - HighPulse: 1000uS - Das Low ein anderes Timing als High hat, irritiert mich schon massivst. - Nach genau 8750uS kommt grundsätzlich ein LowPulse (HL-Flanke bis HL-Flanke vom 750er) -> Bytelänge ???? Scheint in jedem Falle irgendwas RS232 mässiges zu sein (Nein, Clock bekomme ich nirgends). Zur angehängten Grafik: - Vor diesem "Telegramm" hängt der Pegel auf +5V, danach ebenso. Das erste "Bit" sind diese 750uS Low. - Da ich in den vorherigen Grafiken das Ding teilweise invertiert habe, ist also von dieser Logik (Ruhe=High) auszugehen. Zur Analyse" Am sinnigsten scheint mir folgendes: FullDelay=750 HalfDelay=375 Warten auf das erste "Low", dann 1,5 Bit warten und 8 x lesen (Mit je einem FullDelay dazwischen). Am Ende noch 2 FullDelays dazu und dann wieder von vorn. Heraus kommt (bei steigender Tempeatur) folgendes:
1 | 10100011/01111001/00000101/10011000/0/10011000/0/10011000/0/0/0/00100011/0/11111100/00110101/0/00011101/ |
2 | 10100011/01111110/00000101/10011000/0/10011000/0/10011000/0/0/0/00100011/0/00000001/00101101/0/00101111/ |
3 | 10100011/10000011/00000101/10011000/0/10011000/0/10011000/0/0/0/00100011/0/00001110/00111101/0/01000001/ |
4 | 10100011/10000101/00000101/10011000/0/10011000/0/10011000/0/0/0/00100011/0/00011000/00111101/0/01001101/ |
5 | 10100011/10011000/00000101/10011000/0/10011000/0/10011000/0/0/0/00100011/0/00011011/00111101/0/01011011/ |
6 | 10100011/10011101/00000101/10011000/0/10011000/0/10011000/0/0/0/00100011/0/00100000/00110101/0/01101101/ |
7 | 10100011/10011110/00000101/10011000/0/10011000/0/10011000/0/0/0/00100011/0/00100001/00110101/0/01101111/ |
Byte 2, oder aber 14/15 geben irgendwie die Temperatur wieder. Wobei ich da auch noch keinerlei Offset entdecken konnte. Bei dem Test habe ich einfach mal den Finger an den Temperatursensor gehalten - sonst sollte sich nichts verändert haben. Bin ich auf dem Holzweg, oder hat irgendjemand eine Idee ? Verzweifele langsam !
Joerg D. schrieb: > - Das Low ein anderes Timing als High hat, irritiert mich schon > massivst. Hat vielleicht mit 1,5 Stopbits oder ähnlich zu tun.
Joerg schrieb: > ich habe hier eine Wetterstation herumliegen, Welche? Hersteller und genaue Bezeichnung? Foto?
Elsner P01 (die, die original zur Wintergartensteuerung WS10 WS20 WS1000 gehört - also NICHT die RS485-Variante). Der Hersteller gibt sich leider extremst zugeknöpft. Im Manual steht auch nur was von "Eigenes Protokoll". Foto: Siehe Anhang. 3 Anschlüsse: +24V/DC (für Spannungsversorgung + Regensensorheizung) GND DATA @rsonline: Wenn das Stopbit ein 1,5x so langes wäre, dann müssten ja irgendwo 1500er oder 1125er auftauchen - ist leider nicht der Fall :-(
So, hier ein kleiner Zwischenstand: Beim den bisherigen Versuchen schien das Timing nicht ordentlich zu passen. Mit dem Resultat, dass entweder ein Bit verschluckt wurde, oder aber eines zuviel kam. Mit einer Clock von 860uS kommt nun folgendes heraus: Byte 1) Statisch ""S" Byte 2) Temp LSB Byte 3) Temp MSB Byte 4) Licht vorn LSB Byte 5) Licht vorn MSB Byte 6) Licht links LSB Byte 7) Licht links MSB Byte 8) Licht rechts LSB Byte 9) Licht rechts MSB Byte 10)Dämmerung ? Byte 11)Regen J/N Byte 12)irgendwas mit Licht Byte 13-17) ?
1 | 1010011/1101111/101/11001000/0/11001000/0/11001000/0/0/0/10011001/1/10111001/100001/0/10010011 |
Hat denn bisher niemand diese Elsner-Wetterstation im Einsatz ?
Hast du mit der Elser Weterstation weitergemacht ? Ich habe ebenfalls 2 Steuerungen WS10 und eine Wetterstation mit RS484 daran. Denke eher P00 . Jetzt würde ich gerne die DAten mit einem Arduino lesen also die Station weiterbetreiben. Wie hattest du damals die Daten gelesen -- womit und wie hattest du alles angeschlossen - Wäre um jede Hilfe sehr dankbar
Hallo Roland, nein - habe an der Front aufgegeben, da das ding viel zu teuer ist. Meine Wintergartenanlage läuft inzwischen zwar noch mit der überteuerten Closed-Source-Elsner Lösung, jedoch übersteuere ich nahezu alles über die Relaiseingänge. Mit anderen Worten: Ziehe Steuerungsdaten (Wetter & Co.) aus anderen Sensoren und triggere dann einfach nur über eine Relaiskarte mit ESP32 die entsprechenden Aktoren. vy 73 Jörg
HAllo Jörg, ich besitze 2 WS10 und eine davon hatte Probleme. Ersatz ist viel zu teuer !! Die meiste Elektronik in der WS10 ist ja noch brauchbar. Ich habe die Prozessor-Einheit und LCD display im Deckel entfernt und durch ein ESP32 mit Wifi und dual-Prozessor ersetzt. Ebenfalls ein neues LCD und temp Sensor. Hardware Kosten ca. 20 Euro !! Die STecker-Anschlüsse habe ich analysiert und soweit ich es brauche erkannt ! Jetzt habe ich eine Lösung, welche 2 Arbeitsgruppen schalten kann. Bis jetzt nur Temp gesteuert. Habe es noch nicht geschafft die Wetterstation Daten zu lesen -- brauche ich aber eigentlich nicht da ich über WIFI Daten bekommen kann. Software kann ich auch OverTheAir updaten und die TAstenbedienung läuft für mich einfacher. Kann ebenfalls alles über Web/Tablett bedienen . Gut, die Software war etwas zeitaufwendig, da ich keine Erfahrung mit Arduino hatte - ist aber denke ich ganz gut gelungen. Also nicht alles gleich wegwerfen -- bin gerne bereit die Erfahrung zu teilen.
Mit welcher Hardware/Software hast du diese Signale aufgenommen ? Könnte dann es bei mir auch mal versuchen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.