ESP RGBWW Wifi Led Controller - fhem - Modul

Begonnen von pjakobs, 28 Juni 2016, 10:31:13

Vorheriges Thema - Nächstes Thema

mrpj

Ich habe jetzt mal bei mir nen mitschnitt von wireshark gemacht:

Die Befehle gehen von dem von mir geposteten python script raus - OS Win10
Script wurde als "coldstart" ausgeführt - sprich seit gestern Abend hat der Controller keine Befehle erhalten


No.     Time           Source                Destination           Protocol Info
      1 0.000000       192.168.2.193         192.168.2.65          TCP      65274 → 80 [SYN] Seq=0 Win=8192 Len=0 MSS=1460 WS=256 SACK_PERM=1
      2 0.004700       192.168.2.65          192.168.2.193         TCP      80 → 65274 [SYN, ACK] Seq=0 Ack=1 Win=5840 Len=0 MSS=1460
      3 0.004778       192.168.2.193         192.168.2.65          TCP      65274 → 80 [ACK] Seq=1 Ack=1 Win=64240 Len=0
      4 0.004820       192.168.2.193         192.168.2.65          TCP      [TCP segment of a reassembled PDU]
      5 0.004885       192.168.2.193         192.168.2.65          HTTP     POST /color HTTP/1.1
      6 0.024562       192.168.2.65          192.168.2.193         HTTP     HTTP/1.1 200 OK  (application/json)
      7 0.025308       192.168.2.193         192.168.2.65          TCP      65274 → 80 [FIN, ACK] Seq=256 Ack=139 Win=64102 Len=0
      8 0.027191       192.168.2.193         192.168.2.65          TCP      65275 → 80 [SYN] Seq=0 Win=8192 Len=0 MSS=1460 WS=256 SACK_PERM=1
      9 0.029994       192.168.2.65          192.168.2.193         TCP      80 → 65274 [FIN, ACK] Seq=139 Ack=257 Win=5584 Len=0
     10 0.030040       192.168.2.193         192.168.2.65          TCP      65274 → 80 [ACK] Seq=257 Ack=140 Win=64102 Len=0
     11 0.030774       192.168.2.65          192.168.2.193         TCP      80 → 65275 [SYN, ACK] Seq=0 Ack=1 Win=5840 Len=0 MSS=1460
     12 0.030875       192.168.2.193         192.168.2.65          TCP      65275 → 80 [ACK] Seq=1 Ack=1 Win=64240 Len=0
     13 0.030925       192.168.2.193         192.168.2.65          TCP      [TCP segment of a reassembled PDU]
     14 0.030998       192.168.2.193         192.168.2.65          HTTP     POST /color HTTP/1.1
     15 0.057500       192.168.2.65          192.168.2.193         HTTP     HTTP/1.1 200 OK  (application/json)
     16 0.059548       192.168.2.193         192.168.2.65          TCP      65275 → 80 [FIN, ACK] Seq=254 Ack=139 Win=64102 Len=0
     17 0.065818       192.168.2.193         192.168.2.65          TCP      65276 → 80 [SYN] Seq=0 Win=8192 Len=0 MSS=1460 WS=256 SACK_PERM=1
     18 0.085182       192.168.2.65          192.168.2.193         TCP      80 → 65275 [FIN, ACK] Seq=139 Ack=255 Win=5586 Len=0
     19 0.085321       192.168.2.193         192.168.2.65          TCP      65275 → 80 [ACK] Seq=255 Ack=140 Win=64102 Len=0
     20 0.085681       192.168.2.65          192.168.2.193         TCP      80 → 65276 [SYN, ACK] Seq=0 Ack=1 Win=5840 Len=0 MSS=1460
     21 0.085884       192.168.2.193         192.168.2.65          TCP      65276 → 80 [ACK] Seq=1 Ack=1 Win=64240 Len=0
     22 0.086094       192.168.2.193         192.168.2.65          TCP      [TCP segment of a reassembled PDU]
     23 0.086487       192.168.2.193         192.168.2.65          HTTP     POST /color HTTP/1.1
     24 0.105384       192.168.2.65          192.168.2.193         HTTP     HTTP/1.1 200 OK  (application/json)
     25 0.106537       192.168.2.193         192.168.2.65          TCP      65276 → 80 [FIN, ACK] Seq=256 Ack=139 Win=64102 Len=0
     26 0.109797       192.168.2.193         192.168.2.65          TCP      65277 → 80 [SYN] Seq=0 Win=8192 Len=0 MSS=1460 WS=256 SACK_PERM=1
     27 0.110137       192.168.2.65          192.168.2.193         TCP      80 → 65276 [FIN, ACK] Seq=139 Ack=257 Win=5584 Len=0


Der Rest ist im Anhang - scheint mir entweder am OS bei euch zu liegen oder doch leider an Perl+FHEM(?) :(

uniqueck


pjakobs

Zitat von: mrpj am 28 Juni 2016, 18:49:24
Der Rest ist im Anhang - scheint mir entweder am OS bei euch zu liegen oder doch leider an Perl+FHEM(?) :(

Dein Capture sieht aus wie ich es erwartet hätte.
Wie gesagt: meine Vermutung ist, dass wir den asynchronen Teil von fhem einfach aushungern, weil die Befehlszeile mit 50 set Befehlen "in einem Rutsch" bearbeitet wird.
Das ist aber eigentlich ein Randgruppenproblem.
Deine Idee mit den Animationsets wird das sowieso beheben, denn ich denke, die wird man vorab hochladen und dann nur noch aktivieren?

Ich hab den Verdacht, dass das Problem (für uns) verschwindet, wenn Jörg den synchronen Funktionsaufruf einbaut. Alles Andere, was in der Zeit passieren will / soll fällt dann immer noch flach.

Ich überlege gerade was eigentlich mit DOIFs / NOTIFYs passiert, die in diesen Sekunden auftreten. Abgearbeitet werden sie mit ziemlicher Sicherheit nicht. Ich denke, das ist eine Designschwäche von fhem und möglicherweise wäre es sogar leicht zu lösen, wenn man bei jedem ";" in der Befehlskette kurz die Kontrolle an den Dispatcher abgibt.

Grüße

pj

pjakobs

Zitat von: uniqueck am 28 Juni 2016, 19:58:50
Kann ich noch irgendwie unterstützen?

Wenn Du magst, schau doch mal durch den Code des aktuellen -queue branches bzw. fork Dir den, da sind sicher noch ein paar parameter bounds checks zu machen und so'n Kleinkram.

Was ich auch noch gerne machen würde ist: ich fänd's gut, wenn das Readings Zeug irgendwo zentral wäre.
Da gibt's auch zweierlei aus meiner Sicht:

1. die Readings, wie das Modul sie sieht (gerade, wenn eine queue aufgebaut wird, dann sind die entsprechenden Farbwerte ja "in der Zukunft", sprich: folgen der queue wie sie entsteht)
2. aktuelle Readings

Ich würde eigentlich auch gerne zum Initialisationszeitpunkt den Controller nach seinem Zustand fragen, und die rgb/hsv Readings entsprechend setzen.

Auch noch zu machen wären die set / get commands für RAW

und ne tolle Baustelle, an die ich mich noch nicht rangetraut habe ist: können wir die gazen System Sachen des Controllers machen? OTA wäre sicher das interessanteste.
Ich könnte mir aber auch vorstellen, dass mein RaspberryPi einen zweiten WLAN Stöpsel bekommt, der den AP des Controllers joined und den dann automatisch für das eigentliche Netzwerk konfiguriert. (bei 35 Stück wird das langsam interessant ;D)
Aber wie gesagt: zentrales OTA fänd ich klasse.

Ideen gibt's noch viele, denk ich.

ich fürchte, dass ich beim mergen mit develop ganz fürchterlich Chaos produzieren werden... git ist nicht so meine Stärke...  :-)

kadettilac89

Hi,

ich habe das Modul eingebunden und es funktioniert auch so weit ich das beurteilen kann.

Ich habe in einem anderen Blog eine andere WebCmd-Anzeige gesehen die mir sehr gut gefallen würde. Weiß jemand wie ich das konfigurieren kann? Es wurde das Modul WifiLight verwendet. Ich denke aber es sind nur ein paar zusätzliche Attribute die für WebCmd gesetzt werden müssen.

Link zum Blog ... http://www.meintechblog.de/2014/05/die-hue-alternative-preiswert-die-lichtstimmung-im-smart-home-pimpen/

Die Möglichkeit per Slider zu dimmen, und vordefinierte Farben als Button zu haben hat was. Siehe angehängte Grafik.

Kann mir jemand auf die Sprünge helfen? Vielleicht gibt es irgendwo eine Doku oder ein Beispiel.

Danke schon mal.




herrmannj

Hallo kadettilac89

sehr schön wenn sich das modul für Dich schon als nützlich erweist.

Der Entwicklungsstand ist noch sehr früh. Bitte Themen wie GUI / Slider noch ignorieren. Die Entwicklung des Moduls ist noch nicht an diesem Punkt. Es werden sich intern noch so viele Sachen ändern das es zu früh ist sich damit zu beschäftigen.

vg
joerg

pjakobs

#21
Zitat von: kadettilac89 am 29 Juni 2016, 12:13:59
Hi,

ich habe das Modul eingebunden und es funktioniert auch so weit ich das beurteilen kann.

Ich habe in einem anderen Blog eine andere WebCmd-Anzeige gesehen die mir sehr gut gefallen würde. Weiß jemand wie ich das konfigurieren kann? Es wurde das Modul WifiLight verwendet. Ich denke aber es sind nur ein paar zusätzliche Attribute die für WebCmd gesetzt werden müssen.

Link zum Blog ... http://www.meintechblog.de/2014/05/die-hue-alternative-preiswert-die-lichtstimmung-im-smart-home-pimpen/

Die Möglichkeit per Slider zu dimmen, und vordefinierte Farben als Button zu haben hat was. Siehe angehängte Grafik.

Kann mir jemand auf die Sprünge helfen? Vielleicht gibt es irgendwo eine Doku oder ein Beispiel.

Danke schon mal.

Du kannst den fhem colorpicker mittels

attr LED_Wo webCmd rgb
attr LED_Wo widgetOverride rgb:colorpicker,rgb

einbinden - der allerdings kennt keine vordefinierten Farben.

Wenn Du mehr als einen Controller einbindest solltest Du dafür imho sowieso über "lightscenes" nachdenken, dann könntest Du die Farben bzw. Farbstimmungen mehrerer Stripes in einer Lightscene konfigurieren und die per Button / Event etc schalten.

Ich verwende heute zur Steuerung ein billiges Lenovo Tablet (hat 60EUR gekostet), das am Schrank hängt und über TabletUI alle Elemente steuert. Die Lampen nutzen folgendes Widget:


         <div class="row container round bg-gray">
             <div data-type="switch" data-device='LED_Wo' data-on-background-color="LED_Wo:rgb" data-get-on="dim.*|on" data-set-on="on" data-icon="fa-lightbulb-o" class="small col-1-4"> </div>
             <div class="col-1-2">Wohnzimmer Couch</div>
             <div data-type="symbol" id="ST_Wo" data-device='LED_Wo' data-get="" data-off-color="LED_Wo:rgb" data-off-background-color="LED_Wo:rgb" data-icon="fa-ellipsis-h" data-background-icon="fa-circle-    thin" class="small">
             </div>

             <div data-type="popup" data-height="320px" data-width="320px" data-mode="animate" data-starter="#ST_Wo" class="col-1-6">
                 <div class="dialog">
                 <header>RBG COLOR</header>
                 <div data-type="colorwheel" data-device='LED_Wo' data-get="rgb" data-set="rgb" class="big roundIndicator">
                 </div>
             </div>
         </div>


Grüße

pj

herrmannj

btw, ich "rupf" gerade im Modul rum. Ich habe mich gegen synchron entschieden sondern mach gleich einen (hoffentlich) besseren asynchron. 

vg
joerg

pjakobs

Zitat von: herrmannj am 29 Juni 2016, 12:52:06
btw, ich "rupf" gerade im Modul rum. Ich habe mich gegen synchron entschieden sondern mach gleich einen (hoffentlich) besseren asynchron. 

vg
joerg

ich bin gespannt!

pj

herrmannj


Icinger

ZitatDu kannst den fhem colorpicker mittels
....
einbinden - der allerdings kennt keine vordefinierten Farben.

Indirekt falsch :D Colorpicker kenn wirklich keine, aber FHEM-WEB kanns trotzdem gg

So gibts auch vordefinierte Farben:
attr LED_Wo webCmd rgb:rgb ff0000:rgb 00ff00:rgb 0000ff:rgb 000000
attr LED_Wo widgetOverride rgb:colorpicker,rgb


Und sogar ein "Schwarz=Aus" ist mit dabei :D

lg, Stefan
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

pjakobs

Zitat von: Icinger am 29 Juni 2016, 13:39:08
Indirekt falsch :D Colorpicker kenn wirklich keine, aber FHEM-WEB kanns trotzdem gg

So gibts auch vordefinierte Farben:
attr LED_Wo webCmd rgb:rgb ff0000:rgb 00ff00:rgb 0000ff:rgb 000000
attr LED_Wo widgetOverride rgb:colorpicker,rgb


Und sogar ein "Schwarz=Aus" ist mit dabei :D

lg, Stefan
super! Wieder was gelernt!
Danke

pj

kadettilac89

Zitat von: herrmannj am 29 Juni 2016, 12:46:08
Hallo kadettilac89

sehr schön wenn sich das modul für Dich schon als nützlich erweist.

Der Entwicklungsstand ist noch sehr früh. Bitte Themen wie GUI / Slider noch ignorieren.

War nicht als Kritik gedacht sondern ging davon aus, dass es irgendwie mit webcmd im Default geht.

Zitat von: Icinger am 29 Juni 2016, 13:39:08
Indirekt falsch :D Colorpicker kenn wirklich keine, aber FHEM-WEB kanns trotzdem gg

So gibts auch vordefinierte Farben:
attr LED_Wo webCmd rgb:rgb ff0000:rgb 00ff00:rgb 0000ff:rgb 000000
attr LED_Wo widgetOverride rgb:colorpicker,rgb



Und sogar ein "Schwarz=Aus" ist mit dabei :D

lg, Stefan

Vielen Dank! Das meinte ich ... Slider warte ich bis herrmannj soweit ist.

herrmannj

ZitatWar nicht als Kritik gedacht sondern ging davon aus, dass es irgendwie mit webcmd im Default geht.
Oh - Alles gut. Das hatte ich auch keinesfalls so aufgefasst. Ich wollte Dich vor dem Frust bewahren jetzt alles einzurichten und dann in einigen Tagen alles wieder neu, evtl sogar anders, machen zu müssen. Alles jut :)

vg
joerg

kadettilac89

Zitat von: herrmannj am 29 Juni 2016, 15:01:13
Oh - Alles gut. Das hatte ich auch keinesfalls so aufgefasst. Ich wollte Dich vor dem Frust bewahren jetzt alles einzurichten und dann in einigen Tagen alles wieder neu, evtl sogar anders, machen zu müssen. Alles jut :)

vg
joerg

aktuell hab ich allles was ich brauch. Dimmen erstmal über Color-picker. Sogar endloser Farbwechsel funktioniert :)