HomeMatic Funk-Statusanzeige - HM-Dis-WM55

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

Vorheriges Thema - Nächstes Thema

Posti123

18xHM-CC-RT-DN, 5xHM-TC-IT-WM-W-EU, HMLAN, 2xJeeLink 868, 1xJeeLink433, 1xCUL868, HM-LC-Bl1PBU-FM, HM-LC-Sw2-FM, HM-LC-SW1-FM, HM-LC-Sw1PBU-FM, 5xHM-Sec-SC-2, 2xHM-Sec-SCo, HM-ES-TX-WM, HM-Sen-MDIR-O-2, HM-WDS10-TH-O, 6xTechnoline, 2x PCA301,2xHM-PB-2-WM55-2,2xHM-RC-4-2,2xHM-WDS30-T-O, HM-SEC-WDS-2

mirgehtsgut

Zitat von: mirgehtsgut am 18 Oktober 2015, 09:55:06
Hi martinp876,

Danke für den Hinweis. Jetzt funktionieren alle dynamischen Anzeigen wie gewollt.

Nun habe ich ein neues Problem. Ich möchte die langen Tastendrücke auch zu Schaltfunktionen nutzen. Ich habe z. B. folgendes notify definiert:

              define fo_FS_Dis_02.lg.N notify fo_FS_Dis_02:Long.* set SC_media scene Aufstehen

Das Notify funktionert zwar richtig, ich erhalte dann aber keine Anzeige mehr. Auf dem Display steht "keine Daten empfangen". Wenn ich das notify deaktiviere funktionieren die Anzeigen wieder.

Irgendwie scheint dieses notify mit dem notify zum Befüllen des Displays zu kollidieren. Hast du eine Idee, wie ich diese Kollision lösen kann? Kann ich die gewünschte Funktion  "set SC_media scene Aufstehen" vllt in den myUtils-Funktionen oder die fhem_user.cfg integrieren?
Ich habe noch etwas rumprobiert. Die einfachste Variante, um die Synchronisierung der Notifies in den Griff zu bekommen, ist eine kurze Verzögerung (sleep), bis das Display gefüllt ist:

             define fo_FS_Dis_02.lg.N notify fo_FS_Dis_02:Long.* sleep 2;; set SC_media scene Aufstehen;;

Vielleicht braucht das jemand.

mirgehtsgut

Zitat von: Posti123 am 20 Oktober 2015, 08:29:51
Hi mirgehtsgut,

das Thema Umlaute wurde schon mal hier in diesem Thema behandelt.

http://forum.fhem.de/index.php/topic,29128.msg303847.html#msg303847

VG
Dies Lösung gilt nur für die Anzeige von Sonderzeichen in eigenen texten. Mein Problem ist, dass das readingsVal Umlaute liefert (z. B. "überweigend"), die nicht dargestellt werden und die umgewandelt werden müssten. Aber wie?

Posti123

du könntest doch als workaround ReadingsVal durch ein perl "String Replace" funktion jagen und diese mit den genannten Sonderzeichen oder mit Ue ersetzen

Oder lieg ich da falsch?
18xHM-CC-RT-DN, 5xHM-TC-IT-WM-W-EU, HMLAN, 2xJeeLink 868, 1xJeeLink433, 1xCUL868, HM-LC-Bl1PBU-FM, HM-LC-Sw2-FM, HM-LC-SW1-FM, HM-LC-Sw1PBU-FM, 5xHM-Sec-SC-2, 2xHM-Sec-SCo, HM-ES-TX-WM, HM-Sen-MDIR-O-2, HM-WDS10-TH-O, 6xTechnoline, 2x PCA301,2xHM-PB-2-WM55-2,2xHM-RC-4-2,2xHM-WDS30-T-O, HM-SEC-WDS-2

HeikoE

Zitat von: mirgehtsgut am 21 Oktober 2015, 09:07:46
Dies Lösung gilt nur für die Anzeige von Sonderzeichen in eigenen texten. Mein Problem ist, dass das readingsVal Umlaute liefert (z. B. "überweigend"), die nicht dargestellt werden und die umgewandelt werden müssten. Aber wie?
Ich habe einfach

   $text =~ s/ä/{/g;
   $text =~ s/ö/|/g;
   $text =~ s/ü/}/g;
   $text =~ s/Ä/[/g;
   $text =~ s/Ö/#/g;
   $text =~ s/Ü/\$/g;

In der Sub myTx stehen. Damit werden die Zeichen entsprechend ersetzt. Geht problemlos.
Heiko

mirgehtsgut

Danke für eure Hilfe. Jetzt funktioniert alles bestens.

zensbert

Hi,
wie kann ich denn eine Zeile wieder löschen?

Danke im Voraus,
Thomas

zensbert

Hallo zensbert,
Willkommen im Forum.

So müsste es gehen!

set EG_BTN_Status_Dis_02 displayWM short line2 ö green noIcon

LG!

Hans01

Hallo,
in meinem FHEM gibt es für das Device "HM-DIS-WM55" die Befehle "text" und "displayWM" nicht. Ein entsprechender set-Befehl ergibt sofort eine Fehlermeldung. Fehlt mir ein Modul?

martinp876

Zitatergibt sofort eine Fehlermeldung.
und welche?

Hans01

Zum Beispiel erzeugt der Befehl "set Display_Allgemein_Dis_01 text Auf Zu" - in der Kommandozeile eingegeben - die Antwort "Unknown argument text, choose one of clear:readings,trigger,register,rssi,msgEvents,all getConfig getRegRaw peerBulk peerChan regBulk regSet sign:on,off".

Das Kommando "get cmdList" gibt auch nur die Standardkommandos an, nicht aber text oder displayWM.
Als "model" ist "HM-Dis-WM55" angegeben.

martinp876


Hans01

Danke.
Habe gerade ein Update durchgeführt und die Befehle erscheinen jetzt bei cmdList. Werde morgen weitertesten.

Hans01

Nun benötige ich doch weitere Hilfe. Ich kann derzeit keine Texte anzeigen.
Die einzelnen Zeilen wurden gesetzt mit:

  set Display_Allgemein_Dis_01 displayWM short line1 e:{DisplayLine(1,0)}
  set Display_Allgemein_Dis_01 displayWM short line2 e:{DisplayLine(2,0)}
  ...

Nach diesen Set_Befehlen stehen in Display_Allgemein_Dis_01 und Display_Allgemein_Dis_02 in Readings disp_long_l1, disp_long_l2 ... die korrekten Texte.

Drücke ich aber eine Taste am Display erscheint die "Eieruhr" für wenige Sekunden und dann die Nachricht "keine Daten empfangen".
Es kommen allerdings Events wie "battery" vom Display an FHEM durch. Allerdings steht "protCmdPend" auf 7 pending.
Irgendwie funktioniert die Kommunikation nicht.

martinp876

Deine Display funktion muss sinnvolle daten liefert. Schon getestet?