Frage zum Colorpicker, Probleme bei der Aktualisierung

Begonnen von ext23, 20 November 2014, 11:06:44

Vorheriges Thema - Nächstes Thema

ext23

Hallo,

ich habe in meinen DMX Modulen den Colorpicker eingefunden, jedoch habe ich hier ein Problem, dass dieser nicht aktualisiert wird:

So sieht beim Colorpicker aus, man sieht bei dem Glasboden ist der Farbwert auf 68FF4A, der Colorpicker hat aber FFFFFF.
(http://forum.fhem.de/index.php?action=dlattach;topic=29378.0;attach=21767)

Die Readings sehen folgendermaßen aus. Kann mir einer einen Tip geben was ich hier falsch mache?
(http://forum.fhem.de/index.php?action=dlattach;topic=29378.0;attach=21769)

Gruß
Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

justme1968

der initiale default wert wird dann richtig gesetzt wenn das reading genau so heißt wie das zugehörige set kommando.

also beide klein oder beide groß.

das ist bei allen fhemweb widgets wie slider,drop down,... so.

gruß
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

ext23

Mhh also so ganz habe ich das noch nicht gefunden, da musste mich mal abholen.  ???

Das heißt jetzt, dass mein aaff22 eigentlich ein AAFF22 sein muss damit der das richtig interpretiert oder wie? Und wie stell ich das dann um, dass der Colorpicker auch ein aaff22 erkennt? Wenn ich im WebCMD die RGB durch rgb ersetze funktioniert garnichts mehr.

Gruß
Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

justme1968

nicht die schreibweise des inhaltes sondern des reading  und kommando namen. beides muss gleich sein. das ist erst mal noch garnicht colorpicker spezifisch. das gilt für jeden slider und jedes drop down.

ich vermute dein device hat ein kommando set rgb und ein reading RGB. aber beides muss gleich geschrieben werden.

gruß
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

ext23

Mhh das ist bei mir aber alles in Großbuchstaben, also einheitlich:

set Glasboeden RGB abc123

Es geht ja auch alles, ich kann die Farbe setzen und dann zeigt es mit der Colorpicker auch richtig an. Verlasse ich den "Raum" aber wieder und geht wieder rein, steht der Colorpicker wieder auf FFFFFF und hat ein weißen Hintergrund.


Gruß
Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

justme1968

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

ext23

Unknown argument ?, choose one of RGB:colorpicker,RGB on:noArg off:noArg statusRequest:noArg dimDown:noArg dimUp:noArg toggle:noArg

HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

justme1968

sorry. ich habe geschlafen.

damals als ich den colorpicker eingebaut habe gab es nur die hue lampen und die haben kein rgb reading. deshalb habe ich nicht das reading mit gleichem namen sondern das get mit gleichem namen genommen um den wert zu initialisieren.

du brauchst also in deinem device ein noch ein get mit gleichem namen das den wert zurückgibt der beim seitenaufbau verwendet werden soll.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

ext23

Ahh ok super, danke.

Dann werd ich das mal umbauen bzw. erweitern in meinem Modul.

Gruß
Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

justme1968

ich habe eben eine version von Color.pm eingecheckt die das reading als default wert verwendet so wie es in fhem üblich ist und das get nur noch als fallback.

du musst also nichts ändern.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

ext23

Ah super, danke Andre.

Naja ich bin eh noch am basteln mit meinen DMX Modulen. So ganz bin ich da noch nicht durchgestiegen, gerade wenn es darum geht Werte vom IO abzufragen. Aber gut, das ist ein anderes Thema ;-)

gruß
Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

ext23

Moin,

kleine Rückmeldung, es funktioniert jetzt mit der neuen Version.

Gruß
Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

Spiff

Hi Andre,

vielleicht eine andere Ursache, aber ein ähnliches Problem:
der Colorpicker wird irgendwie nicht mehr per longpoll aktualisiert (schon länger nicht mehr). Ich vermute seit dem "großen" Javascript-Umbau.
Erst nach einem manuellen Update der Seite sind die Werte des Colorpickers richtig. Die Lampensymbole hingegen werden korrekt aktualisiert.
Das Problem taucht auf, wenn meine Lampen von "extern" eine Farbvorgabe bekommen und ich die Werte wieder in fhem per get einlese.

Gruß
Spiff.

justme1968

ich kann das problem mit einer ziemlich aktuellen version die ich dabei habe nicht reproduzieren. ich schaue es mir an wenn ich wieder da bin.

bitte versuch mal ob es mit der aktuellen fhem.cfg.demo geht. browser auf machen und per telnet set RGB rgb eine farbe einstellen. ich sehe die änderungen im browser sowohl am icon als auch am hue slider und am colorpicker sofort.

wenns bei dir nicht geht schau mal auf die JavaScript konsole.

gruß
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Spiff

Das liegt wohl an meiner sehr exotischen Konfiguration.
Die Demo geht. Meine Konfiguration innerhalb der Demo geht nicht.

Hier der Javascript-Log von dem Beispiel in der Demo:
23:27:28.486 FW_cmd:/fhem?cmd=set RGB rgb ff0000&XHR=1 fhemweb.js:212:5
23:27:28.503 Rcvd: ["AllLights","undefined","<div id=\"AllLights\"  class=\"col2\"><a href=\"/fhem?cmd.AllLights=set AllLights on&room=Light\"><svg cla...(4046) fhemweb.js:212:5
23:27:28.504 Rcvd: ["AllLights-state","undefined","undefined"] fhemweb.js:212:5
23:27:28.505 Rcvd: ["AllLights-state-ts","2015-08-17 23:27:26","2015-08-17 23:27:26"] fhemweb.js:212:5
23:27:28.506 Rcvd: ["RGB","on","<div id=\"RGB\"  class=\"col2\"><a href=\"/fhem?cmd.RGB=set RGB toggle&room=Light\"><svg class=\" on #ffffff\" alt=\"on...(3152) fhemweb.js:212:5
23:27:28.507 Rcvd: ["RGB-state","on","on"] fhemweb.js:212:5
23:27:28.507 Rcvd: ["RGB-state-ts","2015-08-17 23:27:26","2015-08-17 23:27:26"] fhemweb.js:212:5
23:27:28.507 Rcvd: ["AllLights","undefined","<div id=\"AllLights\"  class=\"col2\"><a href=\"/fhem?cmd.AllLights=set AllLights on&room=Light\"><svg cla...(4046) fhemweb.js:212:5
23:27:28.508 Rcvd: ["AllLights-state","undefined","undefined"] fhemweb.js:212:5
23:27:28.509 Rcvd: ["AllLights-state-ts","2015-08-17 23:27:26","2015-08-17 23:27:26"] fhemweb.js:212:5
23:27:28.509 Rcvd: ["RGB","on","<div id=\"RGB\"  class=\"col2\"><a href=\"/fhem?cmd.RGB=set RGB toggle&room=Light\"><svg class=\" on #ffffff\" alt=\"on...(3152) fhemweb.js:212:5
23:27:28.510 Rcvd: ["RGB-hue","0","0"] fhemweb.js:212:5
23:27:28.511 Rcvd: ["RGB-hue-ts","2015-08-17 23:27:26","2015-08-17 23:27:26"] fhemweb.js:212:5
23:27:28.511 Rcvd: ["AllLights","undefined","<div id=\"AllLights\"  class=\"col2\"><a href=\"/fhem?cmd.AllLights=set AllLights on&room=Light\"><svg cla...(4046) fhemweb.js:212:5
23:27:28.512 Rcvd: ["AllLights-state","undefined","undefined"] fhemweb.js:212:5
23:27:28.512 Rcvd: ["AllLights-state-ts","2015-08-17 23:27:26","2015-08-17 23:27:26"] fhemweb.js:212:5
23:27:28.512 Rcvd: ["RGB","on","<div id=\"RGB\"  class=\"col2\"><a href=\"/fhem?cmd.RGB=set RGB toggle&room=Light\"><svg class=\" on #ff0000\" alt=\"on...(3152) fhemweb.js:212:5
23:27:28.513 Rcvd: ["RGB-rgb","ff0000","ff0000"] fhemweb.js:212:5
23:27:28.513 Rcvd: ["RGB-rgb-ts","2015-08-17 23:27:26","2015-08-17 23:27:26"] fhemweb.js:212:5


Hier von meiner Definition innerhalb der Demo:
23:28:05.018 FW_cmd:/fhem?cmd=set LED1a rgb FF0000&XHR=1 fhemweb.js:212:5
23:28:05.040 Rcvd: ["#FHEMWEB:FHEMWEB:79.223.214.209:52062","$('#saveCheck').css('visibility','visible')",""] fhemweb.js:212:5
23:28:05.041 Rcvd: ["#FHEMWEB:FHEMWEB:79.223.214.209:52062","$('#saveCheck').css('visibility','visible')",""] fhemweb.js:212:5
23:28:05.042 Rcvd: ["LED1a","rgb ff0000","<div id=\"LED1a\"  class=\"col2\"><a href=\"/fhem?cmd.LED1a=set LED1a toggle&room=Lichtsteuerung\"><svg class...(3193) fhemweb.js:212:5
23:28:05.045 Rcvd: ["LED1a","rgb ff0000","<div id=\"LED1a\"  class=\"col2\"><a href=\"/fhem?cmd.LED1a=set LED1a toggle&room=Lichtsteuerung\"><svg class...(3193) fhemweb.js:212:5
23:28:05.046 Rcvd: ["LED1a","rgb ff0000","<div id=\"LED1a\"  class=\"col2\"><a href=\"/fhem?cmd.LED1a=set LED1a toggle&room=Lichtsteuerung\"><svg class...(3193) fhemweb.js:212:5
23:28:05.047 Rcvd: ["LED1a-RGB","FF0000","FF0000"] fhemweb.js:212:5
23:28:05.048 Rcvd: ["LED1a-RGB-ts","2015-08-17 23:28:02","2015-08-17 23:28:02"] fhemweb.js:212:5


Ich nehme mal an, dass der Colorpicker ein "LED1a-rgb" (also kleines rgb) benötigt? Das kommt bei mir nicht an.

Meine Definition:
attr global userattr devStateIcon devStateStyle icon lightSceneParamsToSave lightSceneRestoreOnlyIfChanged:1,0 sortby structexclude webCmd widgetOverride  DMX_B DMX_G DMX_M DMX_R DMX_S

define DMXControl ECMD telnet localhost:2145
attr DMXControl classdefs DMXControl_Devices=ECMD\DMXControl_Devices.classdef:DMXControl_Effects=ECMD\DMXControl_Effects.classdef

define RGB1 ECMDDevice DMXControl_Devices 1 2 3 4 5
attr RGB1 DMX_B 0
attr RGB1 DMX_G 0
attr RGB1 DMX_R 255
attr RGB1 IODev DMXControl
#attr RGB1 room hidden

define LED1a readingsProxy RGB1:state
attr LED1a alias Fenster 1
attr LED1a devStateIcon {Color_devStateIcon (ReadingsVal($name,"RGB","000000"))}
attr LED1a getFn {fhem ("get RGB1 rgb");;fhem ("setreading LED1a RGB ".ReadingsVal("RGB1","rgb","000000"));;(ReadingsVal($name,"RGB","000000"),1) }
attr LED1a getList rgb
attr LED1a group LEDs
attr LED1a room Lichtsteuerung,Arbeitszimmer
attr LED1a setFn {fhem ("attr RGB1 DMX_R ".hex(substr($ARGS,0,2)));;fhem ("attr RGB1 DMX_G ".hex(substr($ARGS,2,2)));;fhem ("attr RGB1 DMX_B ".hex(substr($ARGS,4,2)));;fhem ("set RGB1 rgb");;fhem ("setreading $name RGB $ARGS");;return undef}
attr LED1a setList rgb:colorpicker,RGB on off
attr LED1a webCmd rgb:rgb FF0000:rgb C8FF12:rgb 0000FF:rgb 000000


Danke & Gruß
Spiff.