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 ...
Schaue mal ob Du hieraus schlau wirst
https://forum.fhem.de/index.php/topic,31439.msg239312.html#msg239312
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?
Schiebe das ganze mal ins DOIF Forum
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*
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.
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
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.
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.
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.
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.
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.
und so sieht es bei mir aus:
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!