NEWS
Befehle von Neeo nach ioBroker senden
-
@Kusi Du könntest ggf. den Treiber noch automatisch starten - bin mir aber nicht ganz sicher, ob das so funktioniert wie ich mir das denke:
Du könntest eine neue Datei erstellen
sudo nano /etc/systemd/system/neeo_simple.serviceIn diese neue Datei kannst mal probieren, ob das mit folgenden Einträgen funktioniert:
[Unit] Description=Neeo Simple Service Wants=network.target After=network.target [Service] Type=simple User=pi WorkingDirectory=/home/pi/node_modules ExecStart=node /home/pi/node_modules/neeo_driver-test Restart=no [Install] WantedBy=multi-user.targetdann Service bekannt machen
sudo systemctl daemon-reloaddann mal versuchen zu starten (vorher stoppen, wenn das vorher mit iobroker schon gestartet war):
sudo systemctl start neeo_simpleÜberprüfen ob das Ding läuft geht ohne sudo
systemctl status neeo_simplewenn das alles klappt und Du auf Deiner Fernebdienung Deine Tasten siehst - dann mit
sudo systemctl enable neeo_simple.servicedafür sorgen, dass der Dienst nach dem Hochfahren als nach Neustart automatisch startet!
Ich mach das aber auch nur nach Kochrezept - bei großen Fehler müssen hier die UNIX Profis ran. ;)
@mickym sagte in Befehle von Neeo nach ioBroker senden:
Treiber noch automatisch starten
Der Service kann gestartet werden, und mit dem Befehl
systemctl status neeo_simplekommt die Meldung, dass der Dienst aktiv ist.
pi@raspberrypi:~ $ sudo systemctl start neeo_simple pi@raspberrypi:~ $ systemctl status neeo_simple * neeo_simple.service - Neeo Simple Service Loaded: loaded (/etc/systemd/system/neeo_simple.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2020-09-10 21:38:06 CEST; 4s ago Main PID: 5731 (node) Tasks: 7 (limit: 4915) CGroup: /system.slice/neeo_simple.service `-5731 /usr/bin/node /home/pi/node_modules/ioBroker Sep 10 21:38:06 raspberrypi systemd[1]: Started Neeo Simple Service. Sep 10 21:38:07 raspberrypi node[5731]: # READY! use the NEEO app to search for: ioBroker Sep 10 21:38:07 raspberrypi node[5731]: [1B blob data] Sep 10 21:38:07 raspberrypi node[5731]: ACCESOIRE devices do not have their own recipy slides. Sep 10 21:38:07 raspberrypi node[5731]: You need to add the buttons as shortcuts to an existing device slide, Sep 10 21:38:07 raspberrypi node[5731]: add a dummy device (search for dummy) and add the buttons as shortcut there or Sep 10 21:38:07 raspberrypi node[5731]: change the actualDriverObject.setType line to present this driver as a different deviceNach dem Neustart des Raspberry funktioniert der Service aber nicht mehr.
Folgender Fehler wird angezeigt:pi@raspberrypi:~ $ systemctl status neeo_simple * neeo_simple.service - Neeo Simple Service Loaded: loaded (/etc/systemd/system/neeo_simple.service; enabled; vendor pres Active: failed (Result: exit-code) since Thu 2020-09-10 21:31:20 CEST; 3min 4 Process: 463 ExecStart=/usr/bin/node /home/pi/node_modules/ioBroker (code=exit Main PID: 463 (code=exited, status=1/FAILURE) Sep 10 21:31:20 raspberrypi node[463]: [Symbol(corked)]: 0, Sep 10 21:31:20 raspberrypi node[463]: [Symbol(kOutHeaders)]: [Object: nul Sep 10 21:31:20 raspberrypi node[463]: }, Sep 10 21:31:20 raspberrypi node[463]: _currentUrl: 'http://192.168.1.80:300 Sep 10 21:31:20 raspberrypi node[463]: [Symbol(kCapture)]: false Sep 10 21:31:20 raspberrypi node[463]: }, Sep 10 21:31:20 raspberrypi node[463]: response: undefined Sep 10 21:31:20 raspberrypi node[463]: } Sep 10 21:31:20 raspberrypi systemd[1]: neeo_simple.service: Main process exited Sep 10 21:31:20 raspberrypi systemd[1]: neeo_simple.service: Failed with result lines 1-16/16 (END)...skipping... * neeo_simple.service - Neeo Simple Service Loaded: loaded (/etc/systemd/system/neeo_simple.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Thu 2020-09-10 21:31:20 CEST; 3min 48s ago Process: 463 ExecStart=/usr/bin/node /home/pi/node_modules/ioBroker (code=exited, status=1/FAILURE) Main PID: 463 (code=exited, status=1/FAILURE) Sep 10 21:31:20 raspberrypi node[463]: [Symbol(corked)]: 0, Sep 10 21:31:20 raspberrypi node[463]: [Symbol(kOutHeaders)]: [Object: null prototype] Sep 10 21:31:20 raspberrypi node[463]: }, Sep 10 21:31:20 raspberrypi node[463]: _currentUrl: 'http://192.168.1.80:3000/systeminfo', Sep 10 21:31:20 raspberrypi node[463]: [Symbol(kCapture)]: false Sep 10 21:31:20 raspberrypi node[463]: }, Sep 10 21:31:20 raspberrypi node[463]: response: undefined Sep 10 21:31:20 raspberrypi node[463]: } Sep 10 21:31:20 raspberrypi systemd[1]: neeo_simple.service: Main process exited, code=exited, status=1/FAILURE Sep 10 21:31:20 raspberrypi systemd[1]: neeo_simple.service: Failed with result 'exit-code'. ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ lines 1-16/16 (END)...skipping... * neeo_simple.service - Neeo Simple Service Loaded: loaded (/etc/systemd/system/neeo_simple.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Thu 2020-09-10 21:31:20 CEST; 3min 48s ago Process: 463 ExecStart=/usr/bin/node /home/pi/node_modules/ioBroker (code=exited, status=1/FAILURE) Main PID: 463 (code=exited, status=1/FAILURE) Sep 10 21:31:20 raspberrypi node[463]: [Symbol(corked)]: 0, Sep 10 21:31:20 raspberrypi node[463]: [Symbol(kOutHeaders)]: [Object: null prototype] Sep 10 21:31:20 raspberrypi node[463]: }, Sep 10 21:31:20 raspberrypi node[463]: _currentUrl: 'http://192.168.1.80:3000/systeminfo', Sep 10 21:31:20 raspberrypi node[463]: [Symbol(kCapture)]: false Sep 10 21:31:20 raspberrypi node[463]: }, Sep 10 21:31:20 raspberrypi node[463]: response: undefined Sep 10 21:31:20 raspberrypi node[463]: } Sep 10 21:31:20 raspberrypi systemd[1]: neeo_simple.service: Main process exited, code=exited, status=1/FAILURE Sep 10 21:31:20 raspberrypi systemd[1]: neeo_simple.service: Failed with result 'exit-code'. -
@mickym sagte in Befehle von Neeo nach ioBroker senden:
Treiber noch automatisch starten
Der Service kann gestartet werden, und mit dem Befehl
systemctl status neeo_simplekommt die Meldung, dass der Dienst aktiv ist.
pi@raspberrypi:~ $ sudo systemctl start neeo_simple pi@raspberrypi:~ $ systemctl status neeo_simple * neeo_simple.service - Neeo Simple Service Loaded: loaded (/etc/systemd/system/neeo_simple.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2020-09-10 21:38:06 CEST; 4s ago Main PID: 5731 (node) Tasks: 7 (limit: 4915) CGroup: /system.slice/neeo_simple.service `-5731 /usr/bin/node /home/pi/node_modules/ioBroker Sep 10 21:38:06 raspberrypi systemd[1]: Started Neeo Simple Service. Sep 10 21:38:07 raspberrypi node[5731]: # READY! use the NEEO app to search for: ioBroker Sep 10 21:38:07 raspberrypi node[5731]: [1B blob data] Sep 10 21:38:07 raspberrypi node[5731]: ACCESOIRE devices do not have their own recipy slides. Sep 10 21:38:07 raspberrypi node[5731]: You need to add the buttons as shortcuts to an existing device slide, Sep 10 21:38:07 raspberrypi node[5731]: add a dummy device (search for dummy) and add the buttons as shortcut there or Sep 10 21:38:07 raspberrypi node[5731]: change the actualDriverObject.setType line to present this driver as a different deviceNach dem Neustart des Raspberry funktioniert der Service aber nicht mehr.
Folgender Fehler wird angezeigt:pi@raspberrypi:~ $ systemctl status neeo_simple * neeo_simple.service - Neeo Simple Service Loaded: loaded (/etc/systemd/system/neeo_simple.service; enabled; vendor pres Active: failed (Result: exit-code) since Thu 2020-09-10 21:31:20 CEST; 3min 4 Process: 463 ExecStart=/usr/bin/node /home/pi/node_modules/ioBroker (code=exit Main PID: 463 (code=exited, status=1/FAILURE) Sep 10 21:31:20 raspberrypi node[463]: [Symbol(corked)]: 0, Sep 10 21:31:20 raspberrypi node[463]: [Symbol(kOutHeaders)]: [Object: nul Sep 10 21:31:20 raspberrypi node[463]: }, Sep 10 21:31:20 raspberrypi node[463]: _currentUrl: 'http://192.168.1.80:300 Sep 10 21:31:20 raspberrypi node[463]: [Symbol(kCapture)]: false Sep 10 21:31:20 raspberrypi node[463]: }, Sep 10 21:31:20 raspberrypi node[463]: response: undefined Sep 10 21:31:20 raspberrypi node[463]: } Sep 10 21:31:20 raspberrypi systemd[1]: neeo_simple.service: Main process exited Sep 10 21:31:20 raspberrypi systemd[1]: neeo_simple.service: Failed with result lines 1-16/16 (END)...skipping... * neeo_simple.service - Neeo Simple Service Loaded: loaded (/etc/systemd/system/neeo_simple.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Thu 2020-09-10 21:31:20 CEST; 3min 48s ago Process: 463 ExecStart=/usr/bin/node /home/pi/node_modules/ioBroker (code=exited, status=1/FAILURE) Main PID: 463 (code=exited, status=1/FAILURE) Sep 10 21:31:20 raspberrypi node[463]: [Symbol(corked)]: 0, Sep 10 21:31:20 raspberrypi node[463]: [Symbol(kOutHeaders)]: [Object: null prototype] Sep 10 21:31:20 raspberrypi node[463]: }, Sep 10 21:31:20 raspberrypi node[463]: _currentUrl: 'http://192.168.1.80:3000/systeminfo', Sep 10 21:31:20 raspberrypi node[463]: [Symbol(kCapture)]: false Sep 10 21:31:20 raspberrypi node[463]: }, Sep 10 21:31:20 raspberrypi node[463]: response: undefined Sep 10 21:31:20 raspberrypi node[463]: } Sep 10 21:31:20 raspberrypi systemd[1]: neeo_simple.service: Main process exited, code=exited, status=1/FAILURE Sep 10 21:31:20 raspberrypi systemd[1]: neeo_simple.service: Failed with result 'exit-code'. ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ lines 1-16/16 (END)...skipping... * neeo_simple.service - Neeo Simple Service Loaded: loaded (/etc/systemd/system/neeo_simple.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Thu 2020-09-10 21:31:20 CEST; 3min 48s ago Process: 463 ExecStart=/usr/bin/node /home/pi/node_modules/ioBroker (code=exited, status=1/FAILURE) Main PID: 463 (code=exited, status=1/FAILURE) Sep 10 21:31:20 raspberrypi node[463]: [Symbol(corked)]: 0, Sep 10 21:31:20 raspberrypi node[463]: [Symbol(kOutHeaders)]: [Object: null prototype] Sep 10 21:31:20 raspberrypi node[463]: }, Sep 10 21:31:20 raspberrypi node[463]: _currentUrl: 'http://192.168.1.80:3000/systeminfo', Sep 10 21:31:20 raspberrypi node[463]: [Symbol(kCapture)]: false Sep 10 21:31:20 raspberrypi node[463]: }, Sep 10 21:31:20 raspberrypi node[463]: response: undefined Sep 10 21:31:20 raspberrypi node[463]: } Sep 10 21:31:20 raspberrypi systemd[1]: neeo_simple.service: Main process exited, code=exited, status=1/FAILURE Sep 10 21:31:20 raspberrypi systemd[1]: neeo_simple.service: Failed with result 'exit-code'. -
@Kusi Ok - dann investier da keine Zeit - dazu bin ich auch zuwenig Fachmann - dann schau vielleicht eher ob Du es automatisch übder den Javascript Adapter zum Laufen bringst.
-
@mickym Weist du wofür system.host.raspberrypi ist? Dort hat man den Datenpunkt "alive", welcher anzeigt ob der Adapter gestartet oder beendet ist. Mit diesem könnte man das Skript starten...
@Kusi Nein weiß ich leider nicht. Im Prinzip gibt es zu jedem Adapter ein "alive" der true wird, sobald der Adapter gestartet ist - also auch den Javascript-Adapter selbst. Nur Du brauchst ja wieder ein Script, der auch diese Datenpunkte auswertet. Wie willst Du das anstellen?
-
@Kusi Nein weiß ich leider nicht. Im Prinzip gibt es zu jedem Adapter ein "alive" der true wird, sobald der Adapter gestartet ist - also auch den Javascript-Adapter selbst. Nur Du brauchst ja wieder ein Script, der auch diese Datenpunkte auswertet. Wie willst Du das anstellen?
@mickym Den Datenpunkt "system.host.raspberrypi.alive" kann man nicht benutzen, da zu diesem Zeitpunkt der Adapter Javascript noch nicht läuft, somit die Änderung nicht wahrgenommen wird.
Ich habe es jetzt mit dem Datenpunkt "system.adapter.simple-api.0.alive" gelöst und es funktioniert:
// Beschreibe diese Funktion … function ioBroker_starten() { exec('node /home/pi/node_modules/ioBroker'); } on({id: "system.adapter.simple-api.0.alive"/*simple-api.0 alive*/, val: true}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; ioBroker_starten(); }); -
@mickym Den Datenpunkt "system.host.raspberrypi.alive" kann man nicht benutzen, da zu diesem Zeitpunkt der Adapter Javascript noch nicht läuft, somit die Änderung nicht wahrgenommen wird.
Ich habe es jetzt mit dem Datenpunkt "system.adapter.simple-api.0.alive" gelöst und es funktioniert:
// Beschreibe diese Funktion … function ioBroker_starten() { exec('node /home/pi/node_modules/ioBroker'); } on({id: "system.adapter.simple-api.0.alive"/*simple-api.0 alive*/, val: true}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; ioBroker_starten(); });@Kusi Das ist eine gute und schlüssige Idee - da der Adapter ja nötig ist. Und nachdem Du es ja getestet hast ist das ja gelöst. Ich hatte nur Bedenken wenn der dass der Datenpunkt "system.adapter.simple-api.0.alive bereits true ist, bevor der Javasript Adapter läuft - aber das scheint dann ja nicht der Fall zu sein. :slightly_smiling_face:
-
@Kusi Das ist eine gute und schlüssige Idee - da der Adapter ja nötig ist. Und nachdem Du es ja getestet hast ist das ja gelöst. Ich hatte nur Bedenken wenn der dass der Datenpunkt "system.adapter.simple-api.0.alive bereits true ist, bevor der Javasript Adapter läuft - aber das scheint dann ja nicht der Fall zu sein. :slightly_smiling_face:
-
@mickym ich müsste nochmals genau hinsehen, in welcher Reihenfolge die Adapter starten. So funktioniert es jedenfalls einwandfrei und wie du richtig sagtest, der SimpleAPI-Adapter habe ich gewählt, weil dieser für Neeo erforderlich ist.
actualDriverObject.addButton({ name: "button-a", label: "Button A" }); // This makes a new button named button-a, on the remote its shown as Button AKann man den Button zu einem Switch (Schalter: aus-ein) ändern?
Gibt es die Möglichkeit einer Rückmeldung an Neeo? Sprich, wenn der Datenpunkt auf true gewechselt wird, der Schalter dann auf der Neeo auch auf "ein" wechselt? -
actualDriverObject.addButton({ name: "button-a", label: "Button A" }); // This makes a new button named button-a, on the remote its shown as Button AKann man den Button zu einem Switch (Schalter: aus-ein) ändern?
Gibt es die Möglichkeit einer Rückmeldung an Neeo? Sprich, wenn der Datenpunkt auf true gewechselt wird, der Schalter dann auf der Neeo auch auf "ein" wechselt?@Kusi Das Problem ist, dass Du das jemand fragen musst, der sich mit Neeo ausgekennt. Zum einen bietet ja kannst du sicher von iobroker HTTP Befehle zu Deinem Brain zu schicken, aber ich wüßte nicht, wie man das in Neeo verarbeiten sollte.
Das gleiche gilt, dass selbst wenn Neeo den iobroker abfragen würde - wie wird es dort weiterverarbeitet.
Die Simple API Schnittstelle bietet sehr wohl die Möglichkeit jeden x-beliebigen Punkt aus iobroker auszulesen:
http://192.168.1.15:8087/getPlainValue/javascript.0.Eigene_Datenpunkte.Neeo-Buttonoder alle Infos zum DP
http://192.168.1.15:8087/get/javascript.0.Eigene_Datenpunkte.Neeo-ButtonGenerell kannst die simple API ohne Parameter aufrufen und Du siehst die Möglichkeiten - das Problem ist die Neeo Seite. ;)
Im Prinzip hängt das von dem Widget ab: s. SDK https://github.com/NEEOInc/neeo-sdk#power-control-capability
siehe.
Power Control Capability
If your device supports Power control (power on device, power off device), add this capability - the generated recipe will power on and off your device automatically.You need to add support for the following buttons (addButton({..):
POWER ON
POWER OFF
or just use the shortcut function .addButtonGroup('POWER')aber wie Du das dann machst - da muss sich jemand wirklich Neeo besser auskennen - da bin ich überfragt!
-
@Kusi Das Problem ist, dass Du das jemand fragen musst, der sich mit Neeo ausgekennt. Zum einen bietet ja kannst du sicher von iobroker HTTP Befehle zu Deinem Brain zu schicken, aber ich wüßte nicht, wie man das in Neeo verarbeiten sollte.
Das gleiche gilt, dass selbst wenn Neeo den iobroker abfragen würde - wie wird es dort weiterverarbeitet.
Die Simple API Schnittstelle bietet sehr wohl die Möglichkeit jeden x-beliebigen Punkt aus iobroker auszulesen:
http://192.168.1.15:8087/getPlainValue/javascript.0.Eigene_Datenpunkte.Neeo-Buttonoder alle Infos zum DP
http://192.168.1.15:8087/get/javascript.0.Eigene_Datenpunkte.Neeo-ButtonGenerell kannst die simple API ohne Parameter aufrufen und Du siehst die Möglichkeiten - das Problem ist die Neeo Seite. ;)
Im Prinzip hängt das von dem Widget ab: s. SDK https://github.com/NEEOInc/neeo-sdk#power-control-capability
siehe.
Power Control Capability
If your device supports Power control (power on device, power off device), add this capability - the generated recipe will power on and off your device automatically.You need to add support for the following buttons (addButton({..):
POWER ON
POWER OFF
or just use the shortcut function .addButtonGroup('POWER')aber wie Du das dann machst - da muss sich jemand wirklich Neeo besser auskennen - da bin ich überfragt!
@mickym Die Volume-Gruppe konnte ich einfügen.

Wie ich allerdings z.B. nur Volume UP einfüge, ist mir noch ein Rätsel.
Wobei ich natürlich die ganze Volume-Gruppe zum Treiber hinzufügen kann, und dann nur Volume UP auf die Benutzeroberfläche.Ein Slider lässt sich auch einfügen...

Der Switch konnte ich auch einfügen...

Weist du wie ich
node /home/pi/node_modules/ioBrokerstoppen kann??
-
@mickym Die Volume-Gruppe konnte ich einfügen.

Wie ich allerdings z.B. nur Volume UP einfüge, ist mir noch ein Rätsel.
Wobei ich natürlich die ganze Volume-Gruppe zum Treiber hinzufügen kann, und dann nur Volume UP auf die Benutzeroberfläche.Ein Slider lässt sich auch einfügen...

Der Switch konnte ich auch einfügen...

Weist du wie ich
node /home/pi/node_modules/ioBrokerstoppen kann??
@Kusi Folgendes ist der Code, um einen Switch einzufügen:
actualDriverObject.addSwitch({ name: 'Schalter', label: 'Schalter' },{setter: (deviceId, newValue) => switchState = newValue,getter: (deviceId) => switchState,})Hättest du mir eine Idee, wie ich die Weiterleitung zu ioBroker konfigurieren muss? Ich möchte ja gerne 2 States, einmal für Schalter links und einmal für Schalter rechts.
if (buttonName == "Switch") { http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Button?value=S1"); } -
@mickym Die Volume-Gruppe konnte ich einfügen.

Wie ich allerdings z.B. nur Volume UP einfüge, ist mir noch ein Rätsel.
Wobei ich natürlich die ganze Volume-Gruppe zum Treiber hinzufügen kann, und dann nur Volume UP auf die Benutzeroberfläche.Ein Slider lässt sich auch einfügen...

Der Switch konnte ich auch einfügen...

Weist du wie ich
node /home/pi/node_modules/ioBrokerstoppen kann??
@Kusi nun im Prinzip startet dein JavaScript Adapter den Prozess aber wahrscheinlich nicht als Tochterprozess. Da musst mit ps irgendwie den Prozess identifizieren und dann wohl mit kill abschießen. Da sollten Dir die linux freaks helfen können. Oder Leute die sich mit Node.js auskennen
-
@Kusi nun im Prinzip startet dein JavaScript Adapter den Prozess aber wahrscheinlich nicht als Tochterprozess. Da musst mit ps irgendwie den Prozess identifizieren und dann wohl mit kill abschießen. Da sollten Dir die linux freaks helfen können. Oder Leute die sich mit Node.js auskennen
@mickym sagte in Befehle von Neeo nach ioBroker senden:
@Kusi JavaScript Adapter den Prozess aber wahrscheinlich nicht als Tochterprozess
Momentan starte ich ihn per Putty, damit ich ihn mit dem Schliessen von Putty beende.
So kann ich einfach testen... -
@Kusi Folgendes ist der Code, um einen Switch einzufügen:
actualDriverObject.addSwitch({ name: 'Schalter', label: 'Schalter' },{setter: (deviceId, newValue) => switchState = newValue,getter: (deviceId) => switchState,})Hättest du mir eine Idee, wie ich die Weiterleitung zu ioBroker konfigurieren muss? Ich möchte ja gerne 2 States, einmal für Schalter links und einmal für Schalter rechts.
if (buttonName == "Switch") { http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Button?value=S1"); }@Kusi said in Befehle von Neeo nach ioBroker senden:
@Kusi Folgendes ist der Code, um einen Switch einzufügen:
actualDriverObject.addSwitch({ name: 'Schalter', label: 'Schalter' },{setter: (deviceId, newValue) => switchState = newValue,getter: (deviceId) => switchState,})Hättest du mir eine Idee, wie ich die Weiterleitung zu ioBroker konfigurieren muss? Ich möchte ja gerne 2 States, einmal für Schalter links und einmal für Schalter rechts.
if (buttonName == "Switch") { http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Button?value=S1"); }Ehrlich gesagt verstehe ich die Syntax nicht ganz. Im Prinzip müsstest du in einer variablen - vielleicht newValue die Stellung des Schalters speichern. Zum schuß schreibst dann den hatte Befehl und hängst den Inhalt als String hinter das = an.
-
@mickym sagte in Befehle von Neeo nach ioBroker senden:
@Kusi JavaScript Adapter den Prozess aber wahrscheinlich nicht als Tochterprozess
Momentan starte ich ihn per Putty, damit ich ihn mit dem Schliessen von Putty beende.
So kann ich einfach testen... -
@Kusi said in Befehle von Neeo nach ioBroker senden:
@Kusi Folgendes ist der Code, um einen Switch einzufügen:
actualDriverObject.addSwitch({ name: 'Schalter', label: 'Schalter' },{setter: (deviceId, newValue) => switchState = newValue,getter: (deviceId) => switchState,})Hättest du mir eine Idee, wie ich die Weiterleitung zu ioBroker konfigurieren muss? Ich möchte ja gerne 2 States, einmal für Schalter links und einmal für Schalter rechts.
if (buttonName == "Switch") { http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Button?value=S1"); }Ehrlich gesagt verstehe ich die Syntax nicht ganz. Im Prinzip müsstest du in einer variablen - vielleicht newValue die Stellung des Schalters speichern. Zum schuß schreibst dann den hatte Befehl und hängst den Inhalt als String hinter das = an.
@mickym sagte in Befehle von Neeo nach ioBroker senden:
vielleicht newValue die Stellung des Schalters speichern. Zum schuß schreibst dann den hatte Befehl und hängst den Inhalt als String hinter das = an.
Hast du mir ein Beispiel?
Vielleicht hilft dir dies etwas... Für mich ist dies nur Chinesisch...

-
@Kusi Folgendes ist der Code, um einen Switch einzufügen:
actualDriverObject.addSwitch({ name: 'Schalter', label: 'Schalter' },{setter: (deviceId, newValue) => switchState = newValue,getter: (deviceId) => switchState,})Hättest du mir eine Idee, wie ich die Weiterleitung zu ioBroker konfigurieren muss? Ich möchte ja gerne 2 States, einmal für Schalter links und einmal für Schalter rechts.
if (buttonName == "Switch") { http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Button?value=S1"); }@Kusi sagte in Befehle von Neeo nach ioBroker senden:
@Kusi Folgendes ist der Code, um einen Switch einzufügen:
actualDriverObject.addSwitch({ name: 'Schalter', label: 'Schalter' },{setter: (deviceId, newValue) => switchState = newValue,getter: (deviceId) => switchState,})Hättest du mir eine Idee, wie ich die Weiterleitung zu ioBroker konfigurieren muss? Ich möchte ja gerne 2 States, einmal für Schalter links und einmal für Schalter rechts.
if (buttonName == "Switch") { http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Button?value=S1"); }Die Funktion
addSwitch()speichert ja den Zustand des Schalters inswitchStateund gibt sie im "getter" auch wieder zurück. Etwas verwirren tut mich, dass dubuttonName == "Switch"verwendest, oben den Schalter abername: 'Schalter'nennst.Mit dem Namen sollten die Buttons unterscheidbar sein:
if (buttonName == "ButtonG") { http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Button?value=S1"); } else if (buttonName == "ButtonH") { http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Button?value=S2"); }Allerdings würde ich für jeden Knopf einen eigenen State verwenden - das macht das Handling etwas einfacher. Im Script (Javascript Adapter) musst du dann einfach
change: 'any'verwenden, damit du den Knopfdruck jedes Mal mitbekommst. -
@Kusi sagte in Befehle von Neeo nach ioBroker senden:
@Kusi Folgendes ist der Code, um einen Switch einzufügen:
actualDriverObject.addSwitch({ name: 'Schalter', label: 'Schalter' },{setter: (deviceId, newValue) => switchState = newValue,getter: (deviceId) => switchState,})Hättest du mir eine Idee, wie ich die Weiterleitung zu ioBroker konfigurieren muss? Ich möchte ja gerne 2 States, einmal für Schalter links und einmal für Schalter rechts.
if (buttonName == "Switch") { http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Button?value=S1"); }Die Funktion
addSwitch()speichert ja den Zustand des Schalters inswitchStateund gibt sie im "getter" auch wieder zurück. Etwas verwirren tut mich, dass dubuttonName == "Switch"verwendest, oben den Schalter abername: 'Schalter'nennst.Mit dem Namen sollten die Buttons unterscheidbar sein:
if (buttonName == "ButtonG") { http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Button?value=S1"); } else if (buttonName == "ButtonH") { http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Button?value=S2"); }Allerdings würde ich für jeden Knopf einen eigenen State verwenden - das macht das Handling etwas einfacher. Im Script (Javascript Adapter) musst du dann einfach
change: 'any'verwenden, damit du den Knopfdruck jedes Mal mitbekommst. -
@UncleSam sagte in Befehle von Neeo nach ioBroker senden:
Etwas verwirren tut mich, dass du buttonName == "Switch" verwendest, oben den Schalter aber name: 'Schalter' nennst.
Das ist mir gar nicht aufgefallen. Danke für den Hinweis.
@Kusi sagte in Befehle von Neeo nach ioBroker senden:
@UncleSam sagte in Befehle von Neeo nach ioBroker senden:
Etwas verwirren tut mich, dass du buttonName == "Switch" verwendest, oben den Schalter aber name: 'Schalter' nennst.
Das ist mir gar nicht aufgefallen. Danke für den Hinweis.
Du meinst damit Datenpunkt?