HomeMatic Funk-Statusanzeige - HM-Dis-WM55

Begonnen von Roaster, 14 November 2014, 20:33:48

Vorheriges Thema - Nächstes Thema

hoover123

Beim HM-Dis-WM55 ist beim Taster ist ein STM32 verbaut:
off = hochohmig
on = an +3V Batterie
siehe auch Schaltplanauszug aus früheren Post.

Pfriemler

#286
Zitat von: hoover123 am 18 Mai 2015, 08:02:23
siehe Schaltplanauszug aus früheren Post.
Meine Güte, wie peinlich von mir ... Ja ne, klar. Geht dennoch, siehe Post zuvor.
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

hoover123

Der HM-MOD-Re-8 würde sicherlich auch gehen und sogar in eine Unterputz-Dose passen, jedoch erfordert der Sensor mehr Bastelarbeit (Platine etc.).

Am Display selbst würde ich die Lötarbeiten am zweiten Taster als deutlich gefährlicher einstufen. Da braucht man schon eine ruhige Hand und das passende Werkzeug.

Für meine Bedürfnisse ist die Lösung jedoch ausreichend.

Für das Aufwecken gibt es bei mir nur ein Ereignis und das Display soll dafür berührungslos die wichtigsten Infos anzeigen (Alarmanlage scharf/unscharf; Fenster (...) auf/zu, Herd an/aus; Außentemp./Regen). Für weitere Zusatzinfos wäre ich sogar bereit, auf die Taster zu drücken.

In meinem Fall ist der Riegelschaltkontakt der Ereignisauslöser. Könnte aber auch beispielsweise ein Bewegungsmelder sein...

HeikoE

Hallo,
ich "spiele" seit einigen Tagen mit dem Display rum. Mit Hilfe des Wiki habe ich Texte hinbekommen. Danke dafür.
Weiter oben steht:

Zitat von: martinp876 am 31 Januar 2015, 20:51:48
...
wenn ein "keine daten empfangen" kommt, ist die sequenz nicht abgeschlossen Nur wenn das komplette packet angekommen ist, klappt alles.

Ich denke, die beiden tasten kann man peeren wir alle anderen Buttons. getestet habe ich das nicht - aber sollte klappen. Der Aktor sollte kein Problem haben. Burst lässt sich wohl nicht ansprechen.
...

Ich hatte die Tasten mit einem virtuellen Aktor gepeert. Das geht - oben setzt ON, unten OFF. Es wird jeder Tastendruck nun mit 100% bzw. 0% quittiert.
Allerdings kommt dann meist die oben genannte Fehlermeldung.
Jetzt habe ich die peers wieder gelöscht, und schon klappts wieder mit den Texten.
Vielleicht liegt da ein Timing-Problem vor, wenn erst der Tastendruck quittiert wird, dann die Texte gesendet werden.
(Zugegeben, das ist Spekulation, aber vielleicht eine Anregung)
Gruß Heiko

martinp876

habe ich noch nicht getestet - gut möglich, dass es zu Problemen kommt. FHEM muss die Daten schicken und auch die Quittung. Könnte ein Reihenfolgeproblem sein - oder timing.

HeikoE

#290
Ich habe das Script für dynamische Texte aus dem Wiki modifiziert für meinen Bedarf.
Um Sonderzeichen bzw. Umlaute anzuzeigen kann man folgende Steuerzeichen ins Array schreiben:

##########################################
# Umlaute/Sonderzeichen:                 #
#                                        #
# "{" = "ä"     "["  = "Ä"               #
# "|" = "ö"     "#"  = "Ö"               #
# "}" = "ü"     "\$" = "Ü"               #
# "'" = "="     "_"  = "ß"    "]" = "&"  #
# ";" = Sanduhr                          #
# "<" = Pfeil nach links oben            #
# ">" = V auf dem Kopf                   #
##########################################

Diese Liste hat keinen Anspruch auf Vollständigkeit.
Vielleicht hat der Backslash auch mehr Einfluss, als mir aufgefallen ist - scheinbar ist er nur für das große "Ü" notwendig.

Mr. Flash

Hallo,
ich beschäftige mich nun auch schon einige Zeit mit dem Display. Habe die 20 Seiten hier, das Wiki und die Referenz "durchgekaut". Wirklich eine klasse Arbeit!!

Bislang läuft das Teil aber noch nicht so wie gewollt.
Deshalb mal 'ne Frage, auf die ich hier noch keine Antwort gefunden habe:
- was muss in der "fhem.cfg" stehen, damit das Ding "fliegt"?
- und, brauche ich das mit "peerBulk" und wenn ja, warum?

Wenn ich in der "fhem.cfg" für jede Tastenart ein "notify" definiere und dort dann z.B. mit
   fhem("set Dis_01 displayWM short linex e:{myLineA(x,0)}") # mit linex=line1..line6, x=1..6
die Texte reinschreibe, bekomme ich zwar eine Anzeige, aber myLineA wird viel häufiger als angegeben aufgerufen, was die Seitensteuerung in myUtils kaputt macht.

Grüße,
Nik
RPi 4; Bullseye; FHEM 6.3; S.USV basic; BME280; TSL25911.
HM: CFG-LAN,CFG-USB-2,CC-RT-DN,Dis-(EP-)WM55,ES-PMSw1-Pl,ES-TX-WM,LC-Dim1T-FM,LC-Sw1-FM,LC-Sw2-FM,MOD-RPI-PCB,OU-CFM-Pl,RC-Dis-H-x-EU,SCI-3-FM,Sec-MDIR-2,-RHS,-SD,-SC-2,-SCo,-Sir-WM,-TiS,-WDS-2,TC-IT-WM-W-EU,WDS10-TH-O,WDS30-OT2-SM.
Shelly's.

martinp876

Peeren ist m.e. nicht zwingend notwendig.
Ist das fhem.cfg nicht beschrieben ?

Mr. Flash

Hallo Martin,

Du hast in #233 geschrieben, dass man kein "set" in der fhem.cfg benutzen soll:
Zitat von: martinp876 am 22 Februar 2015, 15:17:01
das set...display darf nicht im "normalen" config stehen - hatte ich vorab erklärt.
Grund ist, dass es beim nächsten save gelöscht wird. Daher (und nicht nur deshalb) sollte es im "post-config-config" stehen.

Und in #239:
Zitat von: martinp876 am 24 Februar 2015, 20:40:32
Das notify brauchst du nicht mehr.
Die idee ist, dass du nach restart fuer jede zeile ein kommando eintraegst. Du uebergibst an die routine welche zeile den wert will, ob es fuer oben oder unten sowie long oder short ist.die routine errechnet den string
Ein notify ist dann unnoetig ... sogar stoerend

d.stratmann hat die Frage in #239 auch schon mal gestellt, wurde aber leider nicht beantwortet:
Zitat von: d.stratmann am 24 Februar 2015, 21:34:16
Und wie ich das jetzt als Kommando anstatt eines notify schreiben soll...

Bedeutet das, dass ich in der "fhem.cfg" nur die "postinit.cfg" aufrufe und das war's? Der Rest passiert automatisch? Oder was meinst Du mit "kommando"?
RPi 4; Bullseye; FHEM 6.3; S.USV basic; BME280; TSL25911.
HM: CFG-LAN,CFG-USB-2,CC-RT-DN,Dis-(EP-)WM55,ES-PMSw1-Pl,ES-TX-WM,LC-Dim1T-FM,LC-Sw1-FM,LC-Sw2-FM,MOD-RPI-PCB,OU-CFM-Pl,RC-Dis-H-x-EU,SCI-3-FM,Sec-MDIR-2,-RHS,-SD,-SC-2,-SCo,-Sir-WM,-TiS,-WDS-2,TC-IT-WM-W-EU,WDS10-TH-O,WDS30-OT2-SM.
Shelly's.

MarcelK

Zitat von: hoover123 am 17 Mai 2015, 22:00:27
Wermutstropfen:
Die Variante Short (vergleichbar mit kurzem Drücken des Tasters) funktioniert leider nicht, weil mein Funkschalt-Aktor zu träge ist.
Du sendest on/off hintereinander? Peere das Ding mit einem virtuellen Taster und konfiguriere onForTime für den Peer, damit lassen sich beliebig kurze Impulse erzeugen.

Gruß Marcel

martinp876

(meine) Grundsätze
man muss immer in der Lage sein, ein "save" auszuführen.
=> "set" werden in "normalen" configs (fhem.cfg oder includes) bei einem save gelöcht (was auch sinn macht). daher dürfen KEINE set in den config stehen. Klappt nicht.

das post-init-config bleibt vom save ungerührt. Ausserdem werden dann die kommandos ausgefürt, wenn das System initialisiert ist. Das passt also.
=> set kann im post-init-cfg genutzt werden.

man kann im fhem.cfg das post-init nicht aufrufen. man macht ein notify auf "init" und führt dann das post-init aus. Das notify wird einmalig getriggert, nachdem das init abgeschlossen ist - dann wird post init ausgeführt, fertig.
im Postinit kannst du alles reinpacken was du so machen willst - auch die sets des WM55

Mr. Flash

Hallo Martin,
das habe ich alles gemäß Wiki umgesetzt (auch wenn bei mir "myLinaA()" viel öfter durchlaufen wird als ich es eigentlich aufrufe - aber das ist wohl ein Fehler in meinem Sourcecode, den ich noch finden muss).
Meine Frage zielt darauf ab, ob ich das Event, das beim Drücken einer Taste am Schalter erzeugt wird, z.B. "Dis_01 short", mit einem notify auswerten und irgendwelche Aktionen durchführen muss?!?
Grüße,
Nik
RPi 4; Bullseye; FHEM 6.3; S.USV basic; BME280; TSL25911.
HM: CFG-LAN,CFG-USB-2,CC-RT-DN,Dis-(EP-)WM55,ES-PMSw1-Pl,ES-TX-WM,LC-Dim1T-FM,LC-Sw1-FM,LC-Sw2-FM,MOD-RPI-PCB,OU-CFM-Pl,RC-Dis-H-x-EU,SCI-3-FM,Sec-MDIR-2,-RHS,-SD,-SC-2,-SCo,-Sir-WM,-TiS,-WDS-2,TC-IT-WM-W-EU,WDS10-TH-O,WDS30-OT2-SM.
Shelly's.

martinp876

nein, ein Notify ist nicht beschrieben und nicht notwendig. Das ist eine Built-in funktion.
myLineA sollt 6mal aufgerufen werden - einmal je Zeile

Mr. Flash

Hallo,
die mehrfachen Aufrufe resultieren aus einem fehlerhaften Peering der Kanäle.
Die beiden Kanäle Dis_01 und Dis_02 müssen wohl mit der Zentrale gepeert werden:

set Dis_01 peerBulk <hmID>01
set Dis_02 peerBulk <hmID>01

dürfen aber nicht mit sich selbst gepeert sein (wurde bei mir jedoch automatisch eingetragen). Zur Not das Peering wieder lösen:

set Dis_01 peerBulk <DisplaytasterID>01 unset
set Dis_02 peerBulk <DisplaytasterID>01 unset

Anschließend fhem.cfg prüfen.
RPi 4; Bullseye; FHEM 6.3; S.USV basic; BME280; TSL25911.
HM: CFG-LAN,CFG-USB-2,CC-RT-DN,Dis-(EP-)WM55,ES-PMSw1-Pl,ES-TX-WM,LC-Dim1T-FM,LC-Sw1-FM,LC-Sw2-FM,MOD-RPI-PCB,OU-CFM-Pl,RC-Dis-H-x-EU,SCI-3-FM,Sec-MDIR-2,-RHS,-SD,-SC-2,-SCo,-Sir-WM,-TiS,-WDS-2,TC-IT-WM-W-EU,WDS10-TH-O,WDS30-OT2-SM.
Shelly's.

flashman

Hallo,
ich bin auch besitzer eines DisplayTasters leider habe ich verständniss probleme beim Darstellen meiner Temperatur werte der 1wire sensoren. Ich habe den Taster in FHEM eingebunden das hinterlegen der Texte im Taster funktioniert auch. Aber beim Dymnamischen erstellen hab ich Probleme, zum bsp ich hab wie im Wicki die Funktionen in 99_myUtils eingebunden aber beim aufruf versteh ich es nicht, leider fehlt auch ein beispiel im wiki.
myLineA("????","???") Könnte mir jemand bitte ein beispiel beschreiben.
ich rufe die Funktion in einem notify auf geht das ? Ich hoffe
Danke