NEWS
Geräte für die es keinen eigenen Adapter gibt über ioBroker steuern - hier z.B. Cololight
-
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. -
wenn ich ihn erwähne mit @ sollte er eingentlich wenn er es nicht abgeschalten hat eine Nachricht bekommen...