NEWS
CUL Adapter: Problem beim FS20 Geräte steuern
-
Servus.
Wer hat einen CUL Adapter und kann damit erfolgreich FS20 Aktoren (Steckdosen) Schalten?
Ich schaffe es nicht, meine FS20 Steckdose mit IOBroker zu schalten. Ich habe einen nanoCUL Stick direkt am raspberry pi angeschlossen. (keine CCU2, kein CUxD)
Der CUL Adapter ist grün und steht auf Modus SLowRF.
Beim einschalten und ausschalten der Steckdose mittels FS20 Fernbedienung ändern sich die angezeigten Werte und werden grün.
Wenn ich aber versuche, das object cul.0.cul.0.FS20.836B03.cmd von 0 auf 1 zu stellen, wird kein befehl an die Steckdose geschickt. ( auch nicht via on/off widget aus vis)
Ich kann also nur zuschauen, welche Kommandos and die Steckdose gesendet werden, kann sie aber mittels IOBroker nicht selber schalten.
unter FHEM funktioniert das schalten.
In einem node Script funktioniert das schalten der Steckdose allerdings
var Cul = require('/opt/iobroker/node_modules/cul');
…
cul.cmd('FS20', '836B', '1114', '11'); // ein
cul.cmd('FS20', '836B', '1114', '00'); // aus
ich habe auch HomeMatic Steckdosen (Via HM_CFG_LAN), die lassen sich ganz normal im vis Editor konfigurieren und reagieren auf on/off befehle.
Vielleicht hat ja jemand eine Idee, wo der Fehler liegt.
meine Logs zum cul:
2017-11-06 23:55:00.819 - info: host.iobroker instance system.adapter.cul.0 terminated with code 0 (OK) 2017-11-06 23:55:03.848 - info: host.iobroker object change system.adapter.cul.0 2017-11-06 23:55:03.887 - info: host.iobroker instance system.adapter.cul.0 started with pid 2224 2017-11-06 23:55:05.271 - debug: cul.0 objectDB connected 2017-11-06 23:55:05.342 - debug: cul.0 statesDB connected 2017-11-06 23:55:05.413 - info: cul.0 starting. Version 0.2.2 in /opt/iobroker/node_modules/iobroker.cul, node: v6.11.5 2017-11-06 23:55:56.479 - info: cul.0 object cul.0.cul.0.FS20.836B03.addressCode created 2017-11-06 23:55:56.494 - info: cul.0 object cul.0.cul.0.FS20.836B03.addressCodeElv created 2017-11-06 23:55:56.508 - info: cul.0 object cul.0.cul.0.FS20.836B03.addressDevice created 2017-11-06 23:55:56.522 - info: cul.0 object cul.0.cul.0.FS20.836B03.addressDeviceElv created 2017-11-06 23:55:56.536 - info: cul.0 object cul.0.cul.0.FS20.836B03.extended created 2017-11-06 23:55:56.554 - info: cul.0 object cul.0.cul.0.FS20.836B03.bidirectional created 2017-11-06 23:55:56.574 - info: cul.0 object cul.0.cul.0.FS20.836B03.response created 2017-11-06 23:55:56.592 - info: cul.0 object cul.0.cul.0.FS20.836B03.cmd created 2017-11-06 23:55:56.609 - info: cul.0 object cul.0.cul.0.FS20.836B03.cmdRaw created 2017-11-06 23:55:56.625 - info: cul.0 object cul.0.cul.0.FS20.836B03 created
Danke,
JohnDoe
ModEdit: Log in code bloecken
-
scheinbar sind FS20 Geräte nicht mehr so populär.
PMs darf ich noch nicht schicken, deswegen antworte ich mir selbst
ein paar Fragen an hobbyquaker, den Author des cul Adapters oder an alle die sich auskennen:
kann der adapter überhaupt FS20 Kommandos senden, z.b. FS20 raw cmd ?
Wenn ja, dann bitte rudimentär die Doku "Adapter – CUL" http://www.iobroker.net/docu/?page_id=969&lang=de anpassen, wie man befehle verschicken kann.
oder wenn das nicht so einfach geht,
wie kann man den cul adapter system.adapter.cul.0 in der javascript engine benutzen?
eigene scripten zum steuern der geräte, das würde mir ja auch schon reichen.
ich finde es halt unnötig, nebenbei noch FHEM samt fhem-adapter laufen zu lassen, obwohl iobroker ja einen adapter für meine Hardware mitbringt.
noch zur info, die beispiele von https://github.com/hobbyquaker/cul
funktionieren, wenn ich sie als node.js scripte auf der console ausführe:
cul.write('F6C480111'); // Raw command oder cul.cmd('FS20', '2341 2131', '1112', 'on')
aussdem ist mir aufgefallen, das alle Datenpunkte unterhalb meiner Steckdose cul.0.FS20.836B03 write: false haben,
es gibt auch keine Rolle switch, wie z.B. bei homematic steckdosen, die kann ich ohne probleme schalten.
-
Verstehe ich richtig dass du per Commando auf der console es wohl ausführen kannst nur im ioBroker nicht durch Änderung der objecte?
Wir sehen die raw Daten einer dieser Datenpunkte aus?
–-----------------------
Send from mobile device
-
Hi,
da ich gerade an der selben stelle bin beantworte ich die Frage mal
Als erstes sind alle Datenpunkte Readonly, eine änderung auf RO/WR bringt nichts …
{ "_id": "cul.0.FS20.D14B03.cmd", "type": "state", "common": { "name": "cmd FS20.D14B03", "type": "boolean", "role": "state", "read": true, "write": true }, "native": {}, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 } }
ciao
Andreas
@Dutchman:Verstehe ich richtig dass du per Commando auf der console es wohl ausführen kannst nur im ioBroker nicht durch Änderung der objecte?
Wir sehen die raw Daten einer dieser Datenpunkte aus?
–-----------------------
Send from mobile device `
-
Hallo, danke schonmal fürs antworten
hier 2 datenpunkte einer fernbedienung (FS20 S20), die eine steckdose FS20 ST-4 schaltet.
{ "_id": "cul.0.FS20.836B03.cmd", "type": "state", "common": { "type": "number", "read": true, "write": false, "role": "state", "name": "cmd FS20.836B03" }, "native": {}, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
{ "_id": "cul.0.FS20.836B03.cmdRaw", "type": "state", "common": { "type": "string", "read": true, "write": false, "role": "state", "name": "cmdRaw FS20.836B03" }, "native": {}, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
-
Hi John,
wie sendest du die kommandos denn an die CUL / Console ?
cul.write('F6C480111'); // Raw command oder cul.cmd('FS20', '2341 2131', '1112', 'on')
Bin leider auf dem iobroker ein einsteiger und bin froh die CUL / SCC am laufen zu haben ,,,
Cheers
Andreas
-
Hier mein script, welches von der raspberry pi console als root gestartet wird.
wichtig: vorher den cul Adapter in iobroker stoppen, weil immer nur ein Prozess auf den serial port (usb) zugreifen kann
var Cul = require('/opt/iobroker/node_modules/cul'); var cul = new Cul({ //serialport: '/dev/serial/by-id/usb-busware.de_CUL868-if00', serialport: '/dev/ttyACM0', baudrate: 9600, mode: 'SlowRF' }); cul.on('data', function (raw, obj) { console.log("data"); console.log(raw, obj); }); cul.on('ready', function () { // send arbitrary commands to culfw console.log("ready"); cul.write('V'); // schreibt debug informationen auf console //cul.write('F836B0300'); //raw notation, funktioniert, schaltet dose aus //cul.write('F836B0311'); //raw notation, funktioniert, schaltet dose an //cul.cmd('FS20', '836B', '1114', '00'); // elv notation, funktioniert, schaltet dose aus cul.cmd('FS20', '836B', '1114', '11'); // elv notation, funktioniert, schaltet dose ein console.log("ready done"); });
das script muss mit strg-c abgebrochen werden. während es läuft, und ich drück auf meiner FS20 Fernbedienung eine Taste, dann
zeigt es die FS20-Befehle an, die der cul usb stick erkannt hat.
output:
root@iobroker:~# sudo node fs20_raw.js ready ready done data V 1.67 CUL868 { data: { culfw: { version: '1.67', hardware: 'CUL868' } }, protocol: 'MORITZ', rssi: -22 } data F836B030000 { protocol: 'FS20', address: '836B03', data: { addressCode: '836B', addressCodeElv: '3114 2334', addressDevice: '03', addressDeviceElv: '1114', extended: false, bidirectional: false, response: false, cmd: 'off', cmdRaw: '00' }, rssi: -74 } data F836B0311FF { protocol: 'FS20', address: '836B03', data: { addressCode: '836B', addressCodeElv: '3114 2334', addressDevice: '03', addressDeviceElv: '1114', extended: false, bidirectional: false, response: false, cmd: 'on', cmdRaw: '11' }, rssi: -74.5 }
Das heisst das die ganze intrastruktur funktioniert, jetzt muss ich nur noch rauskriegen, wie ich iobroker dazubringe, mit dem cul adapter auch diese kommandos zu verschicken.
-
Hallo Dutchman,
hast du noch irgendwelche Ideen?
Danke,
JohnDoe
Verstehe ich richtig dass du per Commando auf der console es wohl ausführen kannst nur im ioBroker nicht durch Änderung der objecte?
Wir sehen die raw Daten einer dieser Datenpunkte aus?
–-----------------------
Send from mobile device `
-
Hier mein script, welches von der raspberry pi console als root gestartet wird.
wichtig: vorher den cul Adapter in iobroker stoppen, weil immer nur ein Prozess auf den serial port (usb) zugreifen kann
var Cul = require('/opt/iobroker/node_modules/cul'); var cul = new Cul({ //serialport: '/dev/serial/by-id/usb-busware.de_CUL868-if00', serialport: '/dev/ttyACM0', baudrate: 9600, mode: 'SlowRF' }); cul.on('data', function (raw, obj) { console.log("data"); console.log(raw, obj); }); cul.on('ready', function () { // send arbitrary commands to culfw console.log("ready"); cul.write('V'); // schreibt debug informationen auf console //cul.write('F836B0300'); //raw notation, funktioniert, schaltet dose aus //cul.write('F836B0311'); //raw notation, funktioniert, schaltet dose an //cul.cmd('FS20', '836B', '1114', '00'); // elv notation, funktioniert, schaltet dose aus cul.cmd('FS20', '836B', '1114', '11'); // elv notation, funktioniert, schaltet dose ein console.log("ready done"); });
das script muss mit strg-c abgebrochen werden. während es läuft, und ich drück auf meiner FS20 Fernbedienung eine Taste, dann
zeigt es die FS20-Befehle an, die der cul usb stick erkannt hat.
output:
root@iobroker:~# sudo node fs20_raw.js ready ready done data V 1.67 CUL868 { data: { culfw: { version: '1.67', hardware: 'CUL868' } }, protocol: 'MORITZ', rssi: -22 } data F836B030000 { protocol: 'FS20', address: '836B03', data: { addressCode: '836B', addressCodeElv: '3114 2334', addressDevice: '03', addressDeviceElv: '1114', extended: false, bidirectional: false, response: false, cmd: 'off', cmdRaw: '00' }, rssi: -74 } data F836B0311FF { protocol: 'FS20', address: '836B03', data: { addressCode: '836B', addressCodeElv: '3114 2334', addressDevice: '03', addressDeviceElv: '1114', extended: false, bidirectional: false, response: false, cmd: 'on', cmdRaw: '11' }, rssi: -74.5 }
Das heisst das die ganze intrastruktur funktioniert, jetzt muss ich nur noch rauskriegen, wie ich iobroker dazubringe, mit dem cul adapter auch diese kommandos zu verschicken. `
Wie man aus dem Code sehen kannhttps://github.com/ioBroker/ioBroker.cu … cul.js#L24
Kann man noch nicht steuern. Aber ich bitte euch die Initiative ergreifen und nicht immer warten, bis alles für euch gelöst wird. Es wäre toll wenn jemand das anschaut. Ich keinen cul und auch keine fs20.
-
Hi Bluefox,
würde da gerne unterstützen, aber leider kann ich kein Javascript
LG
Andreas
-
Wie man aus dem Code sehen kann
https://github.com/ioBroker/ioBroker.cu … cul.js#L24
Kann man noch nicht steuern. Aber ich bitte euch die Initiative ergreifen und nicht immer warten, bis alles für euch gelöst wird. Es wäre toll wenn jemand das anschaut. Ich keinen cul und auch keine fs20. `
Danke für die Bestätigung.
Gesehen habe ich die Code Zeile bereits. Javascript ist für mich auch neu, aber ich werde mich einarbeiten. Vielleicht bekommst du dann bald einen Pull-Request für https://github.com/ioBroker/ioBroker.cul
Welche Umgebung/IDE benutzt ihr so zum Entwickeln für javascript? Ich komme aus der Visual Studio / C# Ecke.
-
hi John,
ich entwickle in Delphi, also auch kein Bezug zu Java
Ich wusste schon immer das ich was falsch gemacht habe
LG
Andreas