[erledigt] windrose die 3. (ohne grafik, nur als knob)

Begonnen von the ratman, 25 März 2017, 18:03:44

Vorheriges Thema - Nächstes Thema

the ratman

hiho,
nachdem ich ja jetzt meine liebe zu den alten (web)widgets entdeckt hab, ist mir die idee gekommen, aus dem vorhandenen "knob" ne windrose zu machen.
das funzt auch super - aussehen tut der dummy sodefmod wRose dummy
attr wRose setList state:knob,readOnly:true,angleoffset:90,min:0,max:360,step:0.5,inputColor:black,fgColor:red,anglearc:360,bgcolor:#eeeeee,width:105,height:105,linecap:butt,displayPrevious:false,cursor:1,font:Arial
attr wRose webCmd state
und wird über ein simples doif befüllt

jetzt kam mir die idee, man könnte da ja auch super die schwankungsbreite mit "cursor:XX" einfüllen. nur natürlich wieder die frage ... wie?
sprich: wie krieg ich ein reading an die stelle von XX? sofern das überhaupt möglich ist ...
→do↑p!dnʇs↓shit←

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

the ratman

#2
die idee besticht *g+

ich dachte mir, ich mach das geich im doif attr wRose setList state:knob,thickness:1,readOnly:true,angleoffset:90,min:0,max:360,step:1,inputColor:black,fgColor:red,anglearc:360,bgcolor:gray,width:105,height:105,linecap:butt,displayPrevious:false,cursor:[netatmo_forecast:fc0_windangle],font:Arial;aber da scheitere ich am "," also nach "state:knob" is ende der kommunikation

brauch ich da wieder irgendwelche vorzeichen fürs komma, damit das nicht interpretiert wird?
→do↑p!dnʇs↓shit←

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

the ratman

o.k. erledigt

der arme onkel damian - ich glaub, bei dem steh ich langsam auch auf der schwarzen liste mit nem fetten kreuz vorm namen *g*
→do↑p!dnʇs↓shit←

Damian

Zitat von: the ratman am 28 März 2017, 12:27:29
o.k. erledigt

der arme onkel damian - ich glaub, bei dem steh ich langsam auch auf der schwarzen liste mit nem fetten kreuz vorm namen *g*

Naja SetList ist kein DOIF-spezielles Attribut, daher gibt´s dort auch nichts DOIF spezifisches, insb. keine eckigen Klammern. Du müsstest das Attribut von außen, womit auch immer, neusetzen.

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

the ratman

sowas hab ich schon befürchtet ...
Zitatwomit auch immer,
heißt normal ja perl. was auch gleich heißt: das wars dann für mich... *g*

aber: mal abgesen von eckigen klammern ... es happert ja schon beim 1 komma
→do↑p!dnʇs↓shit←

Damian

Zitat von: the ratman am 28 März 2017, 17:06:18
sowas hab ich schon befürchtet ... heißt normal ja perl. was auch gleich heißt: das wars dann für mich... *g*

aber: mal abgesen von eckigen klammern ... es happert ja schon beim 1 komma

wie gesagt, DOIF packt das Ding nicht an, daher kann das jetzt kein DOIF-spezifisches Problem sein.

Allerdings state in setList ist bei DOIF keine gute Idee, da DOIF selbst seinen Zustand verwalten möchte. Wenn man irgendetwas in den Status bei DOIF hinein bekommen möchte, dann nur über das cmdState-Attribut oder das DOIF-spezifische state-Attribut, siehe mein Beispiel zum uzsu-wiget.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

the ratman

Zitatwie gesagt, DOIF packt das Ding nicht an, daher kann das jetzt kein DOIF-spezifisches Problem sein.
wenn du willst, kann ichs gerne wieder zurück verschieben ... ich mach ja immer, was ihr mir sagts ...

und nur der vollständigkeit halber. das doif befüllt sich nicht selbst, ich mißbrauchs nur wieder mal als notify um einen dummy zu füllen.
→do↑p!dnʇs↓shit←

Damian

Zitat von: the ratman am 28 März 2017, 17:23:09
wenn du willst, kann ichs gerne wieder zurück verschieben ... ich mach ja immer, was ihr mir sagts ...

und nur der vollständigkeit halber. das doif befüllt sich nicht selbst, ich mißbrauchs nur wieder mal als notify um einen dummy zu füllen.

Ich habe noch mal Sourcecode nachgeschaut. Den Teil im DOIF hat Ellert aus dem dummy übernommen. Es werden wohl Umbruchzeichen \n gegen Leerzeichen ersetzt, mehr eigentlich nicht. Vielleicht fehlt da noch etwas, was im dummy drin ist.

Ich würde es zunächst über den dummy machen, bis man es irgendwann im DOIF kompatibel macht.


Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

the ratman

ZitatIch würde es zunächst über den dummy machen, bis man es irgendwann im DOIF kompatibel macht.
würde ich auch, wenn ich wüsste wie ... als weiter bei beitrag #1.
→do↑p!dnʇs↓shit←

Damian

#11
Zitat von: the ratman am 28 März 2017, 18:16:26
würde ich auch, wenn ich wüsste wie ... als weiter bei beitrag #1.

Also ich habe es bei mir mal ohne dummy ausprobiert und es klappt alles wie erwartet

defmod di_t2 DOIF ([$SELF:"value"])\
((attr $SELF setList bla:knob,readOnly:true,angleoffset:90,min:0,max:360,step:0.5,inputColor:black,fgColor:red,anglearc:360,bgcolor:#eeeeee,width:105,height:105,linecap:butt,displayPrevious:false,cursor:[$SELF:value],font:Arial))
attr di_t2 do always
attr di_t2 readingList bla
attr di_t2 setList bla:knob,readOnly:true,angleoffset:90,min:0,max:360,step:0.5,inputColor:black,fgColor:red,anglearc:360,bgcolor:#eeeeee,width:105,height:105,linecap:butt,displayPrevious:false,cursor:50,font:Arial
attr di_t2 state [$SELF:value]
attr di_t2 webCmd bla


mit setreading di_t2 value <Wert> wird alles korrekt angezeigt.

Durch das Setzen des Attributes kommt natürlich immer das Fragezeichen bei Save config, da sich ja die Konfiguration ändert, aber das ist jetzt kein DOIF-Problem.


Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

the ratman

juhuuu
ich habs selber geschafft. vielleicht kapier ichs ja doch noch einmal ...
set wRose [netatmo_forecast:fc0_wind_direction];
   {fhem("attr wRose setList state:knob,readOnly:true,angleoffset:90,min:0,max:360,step:01,inputColor:black,fgColor:red,anglearc:360,bgcolor:#eeeeee,width:105,height:105,linecap:butt,displayPrevious:false,cursor:".ReadingsNum("netatmo_forecast","fc0_windangle", 0).",font:Arial")};

so, jetzt muß dann nur mehr die echte wetterstation eintrudeln ...

danke an alle für eure mühen!
→do↑p!dnʇs↓shit←