NEWS
Geräte für die es keinen eigenen Adapter gibt über ioBroker steuern - hier z.B. Cololight
-
Also.... ich habe den Skill ausprobiert, ich kann jetzt zum Teil die cololight über den iobroker steuern. Erstmal vielen Dank dafür!
Folgendes geht (grüner Rahmen):
power state (an aus schalten)
color name (Farben als name auswählen)Folgendes geht nicht (roter Rahmen):
colorRGB
brightness
color-brightness
color-hue
color-saturationWenn ich in der Alexa App, oder auch in der Lifesmart App zum Beispiel die Cololight einschalte, dann springt der PowerState im iobroker nicht auf true und so ist es auch mit allen anderen Einstellungen von einer App aus. Weiß einer woran das liegt?
Schade ist auch das ich den RGB Wert und die Helligkeit nicht über den iobroker steuern kann. Ich kann mir nicht erklären warum das nicht geht.
-
@saeft_2003 soweit ich weiß wird das nicht synchronisiert - also änderst du was in der app - bekommt das iobroker erstmal nicht mit - ich denke da muss man einen "query" senden - das ist ein datenpunkt im alexa adapter
das mit dem colorrgb .. weiß ich leider nicht - habe keine farbigen lampen zum steuern mit alexa - vielleicht meldet sich noch jemand - evtl einen neuen thread öffnen
ich test noch den echo befehl
-
@saeft_2003 alsso das der echo kein log bringt ist seltsam - manchmal macht er eines manchmal nicht
hier mal etwas nachgestelltes
habe auf meinem windows rechner einen empfänger eingerichtet und sende dann den befehl zu der windows maschine - da kommt was an
direkt über die console kommt aber etwas anderes
-
was auch geht - habe den ganzen befehl in ein linux script gepackt und das aufgerufen im blockly - dann kommt auch was an
folgendes gemacht
unter /opt/iobroker/ eine datei mit nano öffnen (bei mir test) und in diese den ganzen befehl echo ... nc .. hineinkopiert
dann sichern
dann chmod +x /opt/iobroker/test auf dem terminalhaben die befehle eigentlich die cololight geschaltet von der console aus ?
-
@liv-in-sky sagte in Geräte für die es keinen eigenen Adapter gibt über ioBroker steuern - hier z.B. Cololight:
@saeft_2003 alsso das der echo kein log bringt ist seltsam - manchmal macht er eines manchmal nicht
hier mal etwas nachgestelltes
habe auf meinem windows rechner einen empfänger eingerichtet und sende dann den befehl zu der windows maschine - da kommt was an
direkt über die console kommt aber etwas anderes
Ok danke für deinen Test. Kennst du vielleicht jemand der sich noch besser mit der Materie auskennt? Vielleicht wüsste der warum das so ist...
-
@liv-in-sky sagte in Geräte für die es keinen eigenen Adapter gibt über ioBroker steuern - hier z.B. Cololight:
was auch geht - habe den ganzen befehl in ein linux script gepackt und das aufgerufen im blockly - dann kommt auch was an
folgendes gemacht
unter /opt/iobroker/ eine datei mit nano öffnen (bei mir test) und in diese den ganzen befehl echo ... nc .. hineinkopiert
dann sichern
dann chmod +x /opt/iobroker/test auf dem terminalhaben die befehle eigentlich die cololight geschaltet von der console aus ?
Der normale Befehl schaltet die Cololight aus der konsole. Der Befehl wo die datei Befehl1 benutzt wird funktioniert nicht in der Konsole. Habe ich etwas weiter oben geschrieben mit den zwei screenshots von der Konsole...
Das was du probiert hast teste ich heute Abend mal.
-
@saeft_2003 nein - sorry
evtl der typ von hausautomatisierung.com - der hat auch den artikel für fhem gemacht - vielleicht hätte der einen tipp wie man das am besten mit iobroker macht - heißt matthias - ich kenn sonst niemanden - der uns da weiterhelfen könnte - außer ein iobroker-administrator ( @Homoran ) weiß noch jemanden
https://haus-automatisierung.com/projekt/2019/04/05/projekt-cololight-fhem.html
wenn du meinen letzten vorschlag mal versuchst - den ganzen befehl in ein script kopieren und dieses script dann direct in der konsole aufrufst - funktioniert das - wenn ja könntest du dir für jeden befehl so ein script machen und richtig benennen (colo-ein, colo-aus, colo-gruen, ...) und diese scripts dann mit blockly aufrufen . das script hat ja das selbe gesendet wie der befehl direct und das script kann ich im blockly-exec() auch aufrufen
-
@liv-in-sky sagte in Geräte für die es keinen eigenen Adapter gibt über ioBroker steuern - hier z.B. Cololight:
@saeft_2003 nein - sorry
evtl der typ von hausautomatisierung.com - der hat auch den artikel für fhem gemacht - vielleicht hätte der einen tipp wie man das am besten mit iobroker macht - heißt matthias - ich kenn sonst niemanden - der uns da weiterhelfen könnte - außer ein iobroker-administrator ( @Homoran ) weiß noch jemanden
https://haus-automatisierung.com/projekt/2019/04/05/projekt-cololight-fhem.html
wenn du meinen letzten vorschlag mal versuchst - den ganzen befehl in ein script kopieren und dieses script dann direct in der konsole aufrufst - funktioniert das - wenn ja könntest du dir für jeden befehl so ein script machen und richtig benennen (colo-ein, colo-aus, colo-gruen, ...) und diese scripts dann mit blockly aufrufen . das script hat ja das selbe gesendet wie der befehl direct und das script kann ich im blockly-exec() auch aufrufen
Alles klar ich werde dein Vorschlag heute Abend testen und melde mich dann. Danke für die ganze Mühe die du dir machst
-
habe noch etwas getestet - kannst ja mal heut abend auch noch ausprobieren:
evtl. erstelle eine neue javascript instanz - zum testen - auf jeden fall füge in der javascript instanz bei zusätlzlichen komponenten folgendes ein: ("net" eingeben und enter drücken)
und erzeuge ein neues javascript-script - kein blockly. kopiere diesen text hinein
var net = require('net'); var client = new net.Socket(); client.connect(1234, '192.168.178.36', function() { // client.setEncoding('utf-8'); console.log(`sending to server: cololight testing`) client.write('\x53\x5a\x30\x30\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x01\x03\x01\xcf\x35'); //client.write('test'); client.destroy(); });
wenn du dann das script startest /enabelst schalte(/disable) es nach dem test gleich wieder aus - nur falls die javascript instanz einen fehler hat
reagiert das cololight darauf ?
-
Bei der ersten Variante mit der Test Datei passiert gar nichts (es kommt keine Meldung) wenn ich den Befehl chmod +x /opt/iobroker/test in die Konsole eingebe die cololight bleibt auch aus. Das würde ich gerne aber nochmal weiter probieren, was könnte ich noch falsch machen?
Bei der zweiten Variante mit der zweiten js instanz kommen sehr viele Fehler im log und die instanz hängt sich auf (siehe Bild)
-
@saeft_2003 du musst das alles an deine werte anpassen !
-
also alle ip oder portnummern nochmals in deinen dateien checken - ist alles auf mein setting eingestellt - hät' ich auch erwähnen können - im javascript und auch im linux script checken
deine werte 192.168.0.72 8900 - meine werte ip adresse: 192.168.178.36 port: 1234 -
der befehl chmod +x .. gibt nur das recht zum ausführen - es führt den befehl nicht aus - den rufst du über /opt/iobrokjer/test auf
-
-
hier das javascript mit deinen werten und eines abfangen des fehlers - damit der adapter keine probleme macht
var net = require('net'); var client = new net.Socket(); try {client.connect(8900 , '192.168.0.72', function() { // client.setEncoding('utf-8'); console.log(`sending to server: a.random.test`) client.write('\x53\x5a\x30\x30\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x01\x03\x01\xcf\x35'); //client.write('test'); client.destroy(); }); } catch (e) { console.log('Keine Verbindung...'); } client.on('error', function(ex) { console.log("handled error - der empfaenger ist nicht erreichbar"); console.log(ex); });
-
Meine Werte sind: 192.168.178.36 8900
Die JS Instanz hängt sich jetzt nicht mehr auf, aber es gibt einen Fehler (die IP im Skript habe ich natürlich angepasst).
javascript.1 2019-08-17 20:19:17.758 info script.js.test_test.test_cololight: {'errno':'ECONNREFUSED','code':'ECONNREFUSED','syscall':'connect','address':'192.168.178.36','port':8900} javascript.1 2019-08-17 20:19:17.757 info script.js.test_test.test_cololight: handled error - der empfaenger ist nicht erreichbar javascript.1 2019-08-17 20:19:17.709 info script.js.test_test.test_cololight: registered 0 subscriptions and 0 schedules javascript.1 2019-08-17 20:19:17.709 info Start javascript script.js.test_test.test_cololight javascript.1 2019-08-17 20:19:07.667 info received all objects
Wenn ich /opt/iobroker/test in der Konsole ausführe geht die Cololight an. Wenn ich das ganze mit über exec in blockly mache, passiert wieder nichts.
-
@saeft_2003 oh mann - garnicht so einfach ohne testgerät
natürlich ist meine testumgebung anders und reagiert anders - z.b. wenn ich den befehl gesendet habe kann ich ihn nicht ein zweites mal senden ich muss bei dem empfänger (windows rechner) erstmal den process neustarten - bei dir müßte man dsas gerät neustarten - aber das mußte die software auf dem gerät schon kapieren
das einzige sind die rechte auf den nc befehl, wenn du das script "test" über die console ausführst - schreib doch mal ein sudo vor nc in dem "test" file
zur sicherheit öffne mal /etc/sudoers.d/iobroker - wenn das file existiert schreibe diese zeile rein:
im file test (mit deinen daten )
#!/bin/bash echo -n -e "\x53\x5a\x30\x30\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x01\x03\x01\xcf\x35" | sudo nc 192.168.178.36 8900
bei mir kommt dann tatsächlich etwas anderes im empfänger an
ich hoffe mal, es meldet sich noch jmd der ein solches gerät hat - für heute fällt mir nichts mehr ein
-
/bin/nc habe ich in die Datei hinzugefügt so wie auf deinem Bild. Muss ich iobroker danach neustarten, dass es wirksam wird?
Die Datei test habe ich so angepasst:
#!/bin/bash echo -n -e "\x53\x5a\x30\x30\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x01\x03\x01\xcf\x35" | sudo nc 192.168.178.36 8900
Wenn ich dann mit /opt/iobroker/test die Datei in der Konsole ausführe kommt folgende Meldung:
login as: root root@192.168.178.90's password: Linux iobroker 4.9.0-8-amd64 #1 SMP Debian 4.9.144-3.1 (2019-02-19) x86_64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Sat Aug 17 20:09:32 2019 from 192.168.178.78 root@iobroker:~# /opt/iobroker/test (UNKNOWN) [192.168.178.36] 8900 (?) : Connection refused root@iobroker:~#
p.s. habs rausgefunden -u hat gefehlt... cololight geht über die Konsole an, aber über blockly wieder nicht. Ich werd wahnsinnig...
-
@saeft_2003
Hast du schon eine Lösung gefunden? -
Leider nein Im moment bleibt mir nur das an, aus und Farbenwechsel per Alexa skill. Ein smartlife Adapter wäre hierfür ideal...
-
@saeft_2003
Alcazone hat in dem Fixer Tread irgendwas geschrieben von exec Rechten. Glaubt ihr damit könnte man weiter kommen?
Da Frage ist halt was effektiver ist, nen Issue auf Github (wenns eigentlich gehen sollte über exec) oder ein Adaptervorschlag. Befürchte schon fast mit ersten wärs besser, cololight wird noch nicht so weit verbreitet sein. -
@Stormbringer sagte in Geräte für die es keinen eigenen Adapter gibt über ioBroker steuern - hier z.B. Cololight:
@saeft_2003
Alcazone hat in dem Fixer Tread irgendwas geschrieben von exec Rechten. Glaubt ihr damit könnte man weiter kommen?
Da Frage ist halt was effektiver ist, nen Issue auf Github (wenns eigentlich gehen sollte über exec) oder ein Adaptervorschlag. Befürchte schon fast mit ersten wärs besser, cololight wird noch nicht so weit verbreitet sein.haben meine exec Probleme (wahrscheinlich fehlende Rechte) etwas damit zu tun was du im Fixer Thread geschrieben hast?
einen issue auf github könnte man machen, aber da müsste ich mich auch erstmal mit auseinandersetzten.
-
@saeft_2003
Sieht das Alcazone so? Vielleicht mal notfalls direkt in dem Fixer Tread hier her verlinken. Da sind glaub ich eh fast alle grossen und bekannten Entwickler drinnen. Also wenn einer weiter weiß, dann am ehesten da. Oder halt dann auf Github anmelden und im Javaskript Adapter einen Issue anlegen. Geht ganz einfach. Ähnlich wie posten hier.