FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: mipi am 06 April 2015, 14:59:11

Titel: HM-Dis-WM55 -> Texte über nehmen
Beitrag von: mipi am 06 April 2015, 14:59:11
Nach dem Wiki habe ich die Texte ala "set HM-Dis-WM55_Dis_01 text Fenster\_auf Fenster\_zu" eingegeben.

2015.04.06 14:32:34 3: CUL_HM set HM_3515DC_Dis_01 text hallo\_Micha
2015.04.06 14:33:38 3: CUL_HM set HM_3515DC_Dis_01 text hallo\_Micha Tschüss\_Micha


text :
      <text> max 2 char
      txt01_1 ->set_hallo Micha
      txt01_2 ->set_Tschüss Mic
      txt02_1 ->set_Tür auf
      txt02_2 ->set_Tür zu
      txt03_1 ->Textblock 5
      txt03_2 ->Textblock 6
      txt04_1 ->Textblock 7
      txt04_2 ->Textblock 8
      txt05_1 ->Textblock 9
      txt05_2 ->Textblock 10
      txt06_1 ->Textblock 11
      txt06_2 ->Textblock 12
      txt07_1 ->Textblock 13
      txt07_2 ->Textblock 14
      txt08_1 ->Textblock 15
      txt08_2 ->Textblock 16
      txt09_1 ->Textblock 17
      txt09_2 ->Textblock 18
      txt10_1 ->Textblock 19
      txt10_2 ->Textblock 20
      off nc(no change)
color:blue,green,orange,red,white,yellow
      nc(no change)
icon :closed,error,ic12,ic13,info,newMsg,noIcon,off,ok,on,open,serviceMsg,sigGreen,sigRed,sigYellow


Nach dem Klick auf die Config-Taste will der Schalter noch einmal bestätigt werden, alles sieht gut aus, aber die Texte werden nicht angezeigt!

Zugegeben nicht so schlaue Texte, aber daran kanns doch nicht liegen, dass der Bildschirm schwarz bleibt? Ansonsten ist der benutzbar.

Gruß Micha aus Berlin
Titel: Antw:HM-Dis-WM55 -> Texte über nehmen
Beitrag von: mipi am 06 April 2015, 20:35:51
Nachtrag: Vollkommen unklar ist mir auch das ein ->

set HM_3515DC_Dis_01 text Hallo Tschuess

zu

text1 set_Hallo
text2 set_Tschuess

wird (also set_Hallo statt Hallo , weiss nicht wie man das Reading richtig ausgibt)
Titel: Antw:HM-Dis-WM55 -> Texte über nehmen
Beitrag von: martinp876 am 07 April 2015, 07:08:34
set_ bedeuted, dass es von der Zentrale gesetzt wird oder werden soll. Aber es ist entweder noch nicht abgesendet oder noch nicht bestätigt/rückgelesen.
du solltest also einmal config auslösen, damit FHEM auch schreiben kann - und dann noch einmal lesen.
Titel: Antw:HM-Dis-WM55 -> Texte über nehmen
Beitrag von: mipi am 07 April 2015, 08:43:54
Aber ich verstehe das doch richtig, dass mit config die Anlerntaste des Dis gemeint ist? Wenn ich die / mehrmals drücke kommt

1. das Menü Beenden - Zentrale - Übernehmen  ...
2. ich Übernehme ... blinken ..
3. nichts passiert

Noch eine Frage:

bezieht  sich die Doku mit

         set disp01 displayWM short txt02_2 green noIcon txt10_1 red error txt05_2 yellow closed txt02_2 orange open
        set disp01 displayWM long line3 txt02_2 green noIcon
        set disp01 displayWM long line2 nc yellow noIcon
        set disp01 displayWM long line6 txt02_2
        set disp01 displayWM long line1 nc nc closed


txt2_2 auf irgendeine Datenstruktur, evtl.  die aus dem Thread http://forum.fhem.de/index.php/topic,29128.msg226275.html#msg226275 (http://forum.fhem.de/index.php/topic,29128.msg226275.html#msg226275)? und line1 ... 6 ebenso? Oder ist das wirklich Beispieltext? Hier ist wiki und commandref nämlich nicht konsistent! Oder ich zu d... / leseresistent

Gruß aus Berlin
Micha
Titel: Antw:HM-Dis-WM55 -> Texte über nehmen
Beitrag von: martinp876 am 07 April 2015, 10:38:57
hi,

den text kann man im DIS ablegen - in Registern - oder ihn dynamisch senden, also beim Tastendruck.

mit "text" setzt du die Register (ist kein Regset da ein String hier exotisch ist und nur schwer reinzupressen). Du kannst also jeder der 10 (in Worten zehn) Kanälen 2 Texte hinterlegen. Diese sind dann text(01..10)_(1..2).
Nun musst du bis zu sechs Zeilen definieren, die bei Btn1 oder 2 long oder short angezeigt werden sollen. das kann ein freitext oder der in den Kanäle hinterlegte sein. Dies wird mit displayWM gemacht.

Das Hinterlegen der Texte in den 10 Kanälen ist komplex und unflexibel. Warum eQ3 das macht ist mir nicht klar - es wird etwas weniger gefunkt, das ist aber minimal...

Ich empfehle also, text01_1... zu vergessen. Zu komplex für die meisten - nicht hinreichend für die, die es tatsächlich verstehen.

Du solltest also je button 1 und 2 sowie short und long die 6 Lines definieren.
set dis(1/2) displayWM (long|short) line(1|2|3|4|5|6) <text> <color> <icon>

Nachdem hier statische Texte erscheinen ist es wiederum recht sinnlos. immer der Gleiche text, das soll das? Also Dynamik - mit evaluate-option "e:"

set dis_01 displayWM short  line1 e:{myLineA(1,0)}
set dis_01 displayWM short  line2 e:{myLineA(2,0)}
...
set dis_01 displayWM long   line1 e:{myLineA(1,1)}
...
set dis_02 displayWM short  line1 e:{myLineA(1,2)}
....
set dis_02 displayWM long   line1 e:{myLineA(1,3)}
...
set dis_02 displayWM long   line6 e:{myLineA(6,3)}

myLineA ist eine Funktion, die du definieren musst, Sinnvoll in 99_myUtils - siehe Anhang.

Die set displayWM solltest du in einem config ausführen, das du NACH dem init von FHEM auslöst. Das so ein File fester Bestandteil einer jeden Installation sein sollte ist zumindest meine feste Meinung.

Eigentlich halte ich das für den einzigen sinnvollen Ansatz, ein dis-wm zu füttern

Titel: Antw:HM-Dis-WM55 -> Texte über nehmen
Beitrag von: mipi am 07 April 2015, 19:38:15
Vielen Dank Martin für die Hilfe ... gibts keinen "Donate" Button?

Ich habe nach deiner Anleitung und mit Hilfe des Wikis

Aber: Ich bekomme jetzt einen Fehler, wenn ich die fhem.cfg auslöse ->

define eval must return 3 values

so oft ich das set aufrufe .... hmmm, liegt das evtl. an dem Problem mit der config s.o.
Titel: Antw:HM-Dis-WM55 -> Texte über nehmen
Beitrag von: martinp876 am 07 April 2015, 21:47:40
Sicher ein zeitliches problem. Myutil muss erst existieren, bevor das set kommando ausgefuehrt werden darf. Myline gibt 3 werte zurueck.
Wichtig ist, fhem.cfg zu unterteilen, also in (min ) 2 files teilen. Das erste ganz normal. Das 2. Includest du, da sind die sets drin. Das include myfhem.cfg fuehrts du aus mit einem notify nach initialized. Habe ich jetzt nicht hier, suche nach global:initialized


Alternativ zum testen kannst du die kommandos einfach eingeben. Dann sollte es bis zum reboot gehen
Titel: Antw:HM-Dis-WM55 -> Texte über nehmen
Beitrag von: mipi am 07 April 2015, 22:34:00
Schon versucht

Hmmmm .... mit einem notify nach initialized ?

So in etwa?
...
# Disable this to avoid looking for new USB devices on startup
define initialUsbCheck notify global:INITIALIZED usb create

include ./FHEM/fhem_devices.cfg

Du meinst das hier oder:

define postInit notify global:INITIALIZED include /setup/cfg_fhemPostInit.cfg

(aus dem wm55 thread)
...


In fhem_devices.cfg ist der ganze Rest, ich mache das mal bei Gelegenheit sinnvoll.


Leider kein Erfolg, abspeichern der der fhem.cfg zum Check bringt:

ERROR:
define eval must return 3 values:

Was bedeutet / wie macht man  "einem notify nach initialized" ?



Nachtrag 2, aus dem Log:
2015.04.07 22:48:35 1: PERL WARNING: Use of uninitialized value within @cnt in addition (+) at ./FHEM/99_myUtils.pm line 96, <$fh> line 237.
2015.04.07 22:48:35 1: PERL WARNING: Use of uninitialized value in modulus (%) at ./FHEM/99_myUtils.pm line 96, <$fh> line 237.
2015.04.07 22:48:35 3: postInit return value: define eval must return 3 values:
2015.04.07 22:48:35 0: Server started with 73 defined entities (version $Id: fhem.pl 8320 2015-03-29

Nachtrag 3,

aus dem wm55-Thread:
define postInit notify global:INITIALIZED include /setup/cfg_fhemPostInit.cfg

Richtig?
Titel: Antw:HM-Dis-WM55 -> Texte über nehmen
Beitrag von: mipi am 07 April 2015, 23:33:31
Grrrr ... warum geht:

include ./FHEM/cfg_fhemPostInit.cfg

und

define postInit notify global:INITIALIZED include ./FHEM/cfg_fhemPostInit.cfg

nicht?

Ich glaub ich geh heiern!
Titel: Antw:HM-Dis-WM55 -> Texte über nehmen
Beitrag von: martinp876 am 11 April 2015, 07:18:26
das funktioniert bei mit:
define userCfg notify global:INITIALIZED include setup/cfg_fhemUser.cfg
"./" ist evtl nicht notwendig, sollte auch nicht schaden
"setup" ist die direktory in der ich alle meine Konfigurationen aufbewahre.

hilfreich könnte sein
attr global modpath .

zu setzen, wenn nicht schon so ist.

Wird das file im notify fall gefunden?