Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. Befehle von Neeo nach ioBroker senden

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.5k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Befehle von Neeo nach ioBroker senden

Geplant Angeheftet Gesperrt Verschoben Hardware
neeo
62 Beiträge 3 Kommentatoren 5.7k Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • K Kusi

    @mickym sagte in Befehle von Neeo nach ioBroker senden:

                                                                                                                                actualDriverObject.addSwitch({ name: 'Schalter', label: 'Schalter' },{                                                                                                                                                                              setter: (deviceId, newValue) => {                                                                                                                                                                                switchState = newValue;                                                                                                                                                                                http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Switch?value='Test'" );                                                                                                                                                                              },                                                                                                                                                                              getter: (deviceId) => switchState,})
    

    Damit ändert sich der Datenpunkt nicht. Gebe ich

    http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Switch?value='Test'
    

    im Browser ein, dann ändert sich der Datenpunkt auf 'Test'.

    mickymM Offline
    mickymM Offline
    mickym
    Most Active
    schrieb am zuletzt editiert von
    #45

    @Kusi du kannst noch versuchen ob der HTTP Befehl unter getter ausgeführt - viel Hoffnung habe ich aber nicht

    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

    1 Antwort Letzte Antwort
    0
    • K Kusi

      Anbei die Vorgehensweise, um von der Neeo-Fernbedienung Befehle an ioBroker zu senden.

      Voraussetzung ist Node.js, ioBroker läuft auf einem Raspberry Pi 4.

      Zuerst muss die Neeo-SDK installiert werden.

      npm install git+https://github.com/NEEOInc/neeo-sdk.git
      

      Optional können noch Beispiel SDK´s installiert werden, welche dann unter /home/pi/node_modules erscheinen.

      npm install git+https://github.com/NEEOInc/neeo-sdk-examples.git
      

      Danach muss ein Treiber installiert werden, um die Kommunikation von Neeo zu ioBroker zu ermöglichen.

      npm install git+https://github.com/nklerk/neeo_driver-simple.git
      

      Jetzt muss die Datei index.js im Ordner /home/pi/node_modules/neeo_driver-test geöffnet werden. Ich selber habe dafür die Remoteverbindung benutzt. Natürlich kann dies auch über Putty gemacht werden.

      "use strict";
      const neeoapi = require("neeo-sdk");
      const http = require("http.min");
      
      let actualDriverObject;
      actualDriverObject = neeoapi.buildDevice("My first driver"); // change "My first driver" to anything you like but keep the "" characters
      actualDriverObject.setType("ACCESSOIRE"); // can be changed to "ACCESSOIRE" or "AVRECEIVER" or "DVB" or "DVD" or "GAMECONSOLE" or "LIGHT" or "MEDIAPLAYER" or "MUSICPLAYER" or "PROJECTOR" or "TV" or "VOD"
      actualDriverObject.addButton({ name: "button-a", label: "Button A" }); // This makes a new button named button-a, on the remote its shown as Button A
      actualDriverObject.addButton({ name: "button-b", label: "Button B" }); // This makes a new button named button-b, on the remote its shown as Button B
      actualDriverObject.addButton({ name: "button-c", label: "Button C" }); // This makes a new button named button-c, on the remote its shown as Button C
      actualDriverObject.addButton({ name: "button-d", label: "Button D" }); // This makes a new button named button-d, on the remote its shown as Button D
      
      // Here is the code that gets executed when a button is pressed.
      actualDriverObject.addButtonHandler((buttonName, deviceId) => {
        console.log(`[CONTROLLER] ${buttonName} button pressed`);
        if (buttonName == "button-a") {
          http("http://www.google.com"); //Just sneds a http get, use this to controll devices that supports a http get
        }
        if (buttonName == "button-b") {
          http("http://www.google.com");
        }
        if (buttonName == "button-c") {
          http.post("https://httpbin.org/post", { data: "hello" }); //Sends a http post with json data {data: "hello"}
        }
        if (buttonName == "button-d") {
          http.post("https://httpbin.org/post", { data: "hello" });
        }
      });
      
      // change this to set your NEEO brain IP. change 10.2.1.64 to the IP address of your NEEO brain.
      const neeoSettings = {
        brain: "192.168.1.80",
        port: 1104,
        name: "eigeneTasten",
        devices: [actualDriverObject]
      };
      
      ///////////////////////////////////////////////////////////////////////////////////////////////////
      // Do not change the code below this point. ///////////////////////////////////////////////////////
      ///////////////////////////////////////////////////////////////////////////////////////////////////
      
      ///////////////////////////////////////////////////////////////////////////////////////////////////
      // Do not change the code below this point. ///////////////////////////////////////////////////////
      ///////////////////////////////////////////////////////////////////////////////////////////////////
      
      ///////////////////////////////////////////////////////////////////////////////////////////////////
      // Do not change the code below this point. ///////////////////////////////////////////////////////
      ///////////////////////////////////////////////////////////////////////////////////////////////////
      
      ///////////////////////////////////////////////////////////////////////////////////////////////////
      // Do not change the code below this point. ///////////////////////////////////////////////////////
      ///////////////////////////////////////////////////////////////////////////////////////////////////
      neeoapi
        .startServer(neeoSettings)
        .then(() => {
          console.log("# READY! use the NEEO app to search for: " + actualDriverObject.devicename);
          if (actualDriverObject.type == "ACCESSOIRE") {
            console.log("\r\n  ACCESOIRE devices do not have their own recipy slides.");
            console.log("  You need to add the buttons as shortcuts to an existing device slide,");
            console.log("  add a dummy device (search for dummy) and add the buttons as shortcut there or");
            console.log("  change the actualDriverObject.setType line to present this driver as a different device type.");
          }
        })
        .catch(err => {
          console.error("ERROR!", err);
          process.exit(1);
        });
      
      

      In der Zeile 32 muss die IP-Adresse des Brains eingetragen/ersetzt werden.
      In der Zeile 17 muss ein *http get"-Befehl hinterlegt werden. Dieser wird dann gesendet, wenn die Taste "button-a" gedrückt wird. Meiner sieht hier wie folgt aus:

        if (buttonName == "button-a") {
          http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Button?value=A");
      

      Die IP-Adresse ist diese von ioBroker (Raspberry Pi), der Datenpunkt welcher der gesteuert werden soll. Dieser muss vorgängig erstellt werden. Bei mir schickt der Button A den Wert "A" an den Datenpunkt, Button B den Wert "B", usw.
      Ausserdem muss noch der Simple RESTful API-Adapter in ioBroker installiert werden.

      Wenn die index.js angepasst und gespeichert wurde, dann können wir wieder zurück zu Putty wechseln und starten dann den Treiber wie folgt:

      node /home/pi/node_modules/neeo_driver-test
      

      Der Treiber wird nun geladen und in der Neeo-App kann nach einem neuen Device nach "neeo_driver-test" suchen. Wurde dies gefunden und einem Raum zugeordnet, dann können im gewünschten Recipe die Buttons eingefügt werden. Werden diese gedrückt, dann ändert sich der Datenpunkt in ioBroker.

      Wird der Treiber im Putty beendet, dann funktionieren die Tasten auf der Neeo nicht mehr.
      Dies habe ich gelöst, indem ich mit Blockly eine Javascript-Funktion mit folgendem Befehl erstellt habe:

      exec('node /home/pi/node_modules/neeo_driver-test');
      

      Natürlich kann der Treiber auch per Autostart vom Raspberry Pi gestartet werden. Damit kenne ich mich aber noch zu wenig aus.

      In Blockly kann dann definiert werden, was bei der Änderung des Datenpunktes geschehen soll.
      Ich habe zu Testzwecken die Tasten den Shellys für auf/ab zugeordnet.

      UncleSamU Offline
      UncleSamU Offline
      UncleSam
      Developer
      schrieb am zuletzt editiert von UncleSam
      #46

      @Kusi Im SDK Quellcode habe ich gesehen, dass newValue tatsächlich ein boolean ist; damit wäre es true oder false wie @mickym geschrieben hat. Weshalb die Callbacks aber nicht aufgerufen werden, verstehe ich auch nicht. Gemäss allen Beschreibungen, die ich gefunden habe, müssen die genau so angegeben werden.

      Bist du sicher, dass alles sauber neu geladen wird im Neeo? Hast du mal versucht, einen Button umzubenennen und zu sehen, ob das auf der Fernbedienung auch geschieht?

      Ich glaube nämlich langsam, dass das Problem bei der Art liegt, wie du entwickelst. Es sollte wirklich nicht notwendig sein, den RasPi bei jeder Änderung neu zu starten und auch den Pfad /home/pi/node_modules/ioBroker finde ich sehr komisch. Wie bist du auf diesen gekommen? Grundsätzlich sollte man nämlich in einem node_modules-Ordner keine Änderungen machen.

      Bitte bei Problemen mit meinen Adaptern, Issue auf GitHub erfassen: Loxone | I2C | Luxtronik2
      ♡-lichen Dank an meine Sponsoren

      K 2 Antworten Letzte Antwort
      0
      • UncleSamU UncleSam

        @Kusi Im SDK Quellcode habe ich gesehen, dass newValue tatsächlich ein boolean ist; damit wäre es true oder false wie @mickym geschrieben hat. Weshalb die Callbacks aber nicht aufgerufen werden, verstehe ich auch nicht. Gemäss allen Beschreibungen, die ich gefunden habe, müssen die genau so angegeben werden.

        Bist du sicher, dass alles sauber neu geladen wird im Neeo? Hast du mal versucht, einen Button umzubenennen und zu sehen, ob das auf der Fernbedienung auch geschieht?

        Ich glaube nämlich langsam, dass das Problem bei der Art liegt, wie du entwickelst. Es sollte wirklich nicht notwendig sein, den RasPi bei jeder Änderung neu zu starten und auch den Pfad /home/pi/node_modules/ioBroker finde ich sehr komisch. Wie bist du auf diesen gekommen? Grundsätzlich sollte man nämlich in einem node_modules-Ordner keine Änderungen machen.

        K Offline
        K Offline
        Kusi
        schrieb am zuletzt editiert von
        #47

        @UncleSam Wenn ich den Treiber lade, kann ich ihn dann kein erneutes mal laden nach Änderungen. Ich kann ihn zwar pausieren, aber nicht stoppen, aus diesem Grund der Raspi-Neustart.

        Den Ordner /ioBroker habe ich erstellt, anstelle von /neeo_driver-test.
        Habe /ioBroker jetzt gelöscht und lasse den Standardordner.

        1 Antwort Letzte Antwort
        0
        • UncleSamU UncleSam

          @Kusi Im SDK Quellcode habe ich gesehen, dass newValue tatsächlich ein boolean ist; damit wäre es true oder false wie @mickym geschrieben hat. Weshalb die Callbacks aber nicht aufgerufen werden, verstehe ich auch nicht. Gemäss allen Beschreibungen, die ich gefunden habe, müssen die genau so angegeben werden.

          Bist du sicher, dass alles sauber neu geladen wird im Neeo? Hast du mal versucht, einen Button umzubenennen und zu sehen, ob das auf der Fernbedienung auch geschieht?

          Ich glaube nämlich langsam, dass das Problem bei der Art liegt, wie du entwickelst. Es sollte wirklich nicht notwendig sein, den RasPi bei jeder Änderung neu zu starten und auch den Pfad /home/pi/node_modules/ioBroker finde ich sehr komisch. Wie bist du auf diesen gekommen? Grundsätzlich sollte man nämlich in einem node_modules-Ordner keine Änderungen machen.

          K Offline
          K Offline
          Kusi
          schrieb am zuletzt editiert von Kusi
          #48

          @UncleSam sagte in Befehle von Neeo nach ioBroker senden:

          SDK Quellcode habe ich gesehen, dass newValue tatsächlich ein boolean ist; damit wäre es true oder false

          Wie muss es genau heissen?

          Wie folgt kann ich den Treiber nicht laden:

          actualDriverObject.addSwitch({ name: 'Schalter', label: 'Schalter' },{
            setter: (deviceId, newValue) => {
              switchState = newValue;
              if (newValue) {
                http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Switch?value=wahr"
              } else {
                http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Switch?value=falsch"
              }
            },
          
          UncleSamU 1 Antwort Letzte Antwort
          0
          • K Kusi

            @UncleSam sagte in Befehle von Neeo nach ioBroker senden:

            SDK Quellcode habe ich gesehen, dass newValue tatsächlich ein boolean ist; damit wäre es true oder false

            Wie muss es genau heissen?

            Wie folgt kann ich den Treiber nicht laden:

            actualDriverObject.addSwitch({ name: 'Schalter', label: 'Schalter' },{
              setter: (deviceId, newValue) => {
                switchState = newValue;
                if (newValue) {
                  http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Switch?value=wahr"
                } else {
                  http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Switch?value=falsch"
                }
              },
            
            UncleSamU Offline
            UncleSamU Offline
            UncleSam
            Developer
            schrieb am zuletzt editiert von
            #49

            @Kusi Die schliessenden Klammern fehlen beim http(...)

            Bitte bei Problemen mit meinen Adaptern, Issue auf GitHub erfassen: Loxone | I2C | Luxtronik2
            ♡-lichen Dank an meine Sponsoren

            K 1 Antwort Letzte Antwort
            0
            • UncleSamU UncleSam

              @Kusi Die schliessenden Klammern fehlen beim http(...)

              K Offline
              K Offline
              Kusi
              schrieb am zuletzt editiert von Kusi
              #50

              @UncleSam das habe ich mir eben auch gedacht und beim zweiten Versuch getestet, aber dann kommt folgender Fehler:

              pi@raspberrypi:~ $ node /home/pi/node_modules/neeo_driver-test
              /home/pi/node_modules/neeo_driver-test/index.js:29
              actualDriverObject.addButtonHandler((buttonName, deviceId) => {
                                ^
              
              SyntaxError: Unexpected token '.'
                  at wrapSafe (internal/modules/cjs/loader.js:1053:16)
                  at Module._compile (internal/modules/cjs/loader.js:1101:27)
                  at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
                  at Module.load (internal/modules/cjs/loader.js:985:32)
                  at Function.Module._load (internal/modules/cjs/loader.js:878:14)
                  at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
                  at internal/main/run_main_module.js:17:47
              

              So sieht es jetzt komplett aus:

              "use strict";
              const neeoapi = require("neeo-sdk");
              const http = require("http.min");
              
              let actualDriverObject;
              actualDriverObject = neeoapi.buildDevice("ioBroker"); // change "My first driver" to anything you like but keep the "" characters
              actualDriverObject.setType("ACCESSOIRE"); // can be changed to "ACCESSOIRE" or "AVRECEIVER" or "DVB" or "DVD" or "GAMECONSOLE" or "LIGHT" or "MEDIAPLAYER" or "MUSICPLAYER" or "PROJECTOR" or "TV" or "VOD"
              actualDriverObject.addButton({ name: "button-a", label: "Button A" }); // This makes a new button named button-a, on the remote its shown as Button A
              actualDriverObject.addButton({ name: "button-b", label: "Button B" }); // This makes a new button named button-b, on the remote its shown as Button B
              actualDriverObject.addButton({ name: "button-c", label: "Button C" }); // This makes a new button named button-c, on the remote its shown as Button C
              actualDriverObject.addButton({ name: "button-d", label: "Button D" }); // This makes a new button named button-d, on the remote its shown as Button D
              actualDriverObject.addButton({ name: "button-e", label: "Button E" }); // This makes a new button named button-d, on the remote its shown as Button E
              actualDriverObject.addButton({ name: "button-f", label: "Button F" }); // This makes a new button named button-d, on the remote its shown as Button F
              actualDriverObject.addButton({ name: "button-g", label: "Button G" }); // This makes a new button named button-d, on the remote its shown as Button G
              actualDriverObject.addButton({ name: "button-h", label: "Button H" }); // This makes a new button named button-d, on the remote its shown as Button H
              
              actualDriverObject.addSwitch({ name: 'Schalter', label: 'Schalter' },{
                setter: (deviceId, newValue) => {
                  switchState = newValue;
                  if (newValue) {
                    http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Switch?value=wahr")
                  } else {
                    http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Switch?value=falsch")
                  }
                },
              
              
              // Here is the code that gets executed when a button is pressed.
              actualDriverObject.addButtonHandler((buttonName, deviceId) => {
                console.log(`[CONTROLLER] ${buttonName} button pressed`);
                if (buttonName == "button-a") {
                  http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Button?value=A"); //Just sneds a http get, use this to controll devices that supports a http get
                }
                if (buttonName == "button-b") {
                  http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Button?value=B");
                }
                if (buttonName == "button-c") {
                  http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Button?value=C");
                }
                if (buttonName == "button-d") {
                  http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Button?value=D");
                }
                if (buttonName == "button-e") {
                  http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Button?value=E");
                }
                if (buttonName == "button-f") {
                  http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Button?value=F");
                }
                if (buttonName == "button-g") {
                  http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Button?value=G");
                }
                if (buttonName == "button-h") {
                  http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Button?value=H");
                }
              });
              
              // change this to set your NEEO brain IP. change 10.2.1.64 to the IP address of your NEEO brain.
              const neeoSettings = {
                brain: "192.168.1.80",
                port: 1104,
                name: "eigeneTasten",
                devices: [actualDriverObject]
              };
              
              ///////////////////////////////////////////////////////////////////////////////////////////////////
              // Do not change the code below this point. ///////////////////////////////////////////////////////
              ///////////////////////////////////////////////////////////////////////////////////////////////////
              
              ///////////////////////////////////////////////////////////////////////////////////////////////////
              // Do not change the code below this point. ///////////////////////////////////////////////////////
              ///////////////////////////////////////////////////////////////////////////////////////////////////
              
              ///////////////////////////////////////////////////////////////////////////////////////////////////
              // Do not change the code below this point. ///////////////////////////////////////////////////////
              ///////////////////////////////////////////////////////////////////////////////////////////////////
              
              ///////////////////////////////////////////////////////////////////////////////////////////////////
              // Do not change the code below this point. ///////////////////////////////////////////////////////
              ///////////////////////////////////////////////////////////////////////////////////////////////////
              neeoapi
                .startServer(neeoSettings)
                .then(() => {
                  console.log("# READY! use the NEEO app to search for: " + actualDriverObject.devicename);
                  if (actualDriverObject.type == "ACCESSOIRE") {
                    console.log("\r\n  ACCESOIRE devices do not have their own recipy slides.");
                    console.log("  You need to add the buttons as shortcuts to an existing device slide,");
                    console.log("  add a dummy device (search for dummy) and add the buttons as shortcut there or");
                    console.log("  change the actualDriverObject.setType line to present this driver as a different device type.");
                  }
                })
                .catch(err => {
                  console.error("ERROR!", err);
                  process.exit(1);
                });
              
              
              1 Antwort Letzte Antwort
              0
              • mickymM mickym

                @Kusi Im Browser geht das auch nicht - da dort ja die Variable "newValue" nicht gesetzt wird.

                @UncleSam meint dass Du in dem Code des Treibers für den Switch direkt den Wert übergibst - also so:

                actualDriverObject.addSwitch({ name: 'Schalter', label: 'Schalter' },{
                  setter: (deviceId, newValue) => {
                    switchState = newValue;
                    http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Switch?value=" + newValue);
                  },
                  getter: (deviceId) => switchState,})
                
                
                UncleSamU Offline
                UncleSamU Offline
                UncleSam
                Developer
                schrieb am zuletzt editiert von
                #51

                @mickym sagte in Befehle von Neeo nach ioBroker senden:

                actualDriverObject.addSwitch({ name: 'Schalter', label: 'Schalter' },{
                  setter: (deviceId, newValue) => {
                    switchState = newValue;
                    http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Switch?value=" + newValue);
                  },
                  getter: (deviceId) => switchState,})
                
                

                Das hier geht, oder? Wenn du etwas änderst, musst du immer schauen, dass die öffnenden und schliessenden Klammern (rund, geschweift, eckig) übereinstimmen.

                Ergo sollte es IMHO heissen:

                actualDriverObject.addSwitch({ name: 'Schalter', label: 'Schalter' },{
                  setter: (deviceId, newValue) => {
                    switchState = newValue;
                    if (newValue) {
                      http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Switch?value=wahr"
                    } else {
                      http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Switch?value=falsch"
                    }
                  },
                  getter: (deviceId) => switchState,})
                

                Bitte bei Problemen mit meinen Adaptern, Issue auf GitHub erfassen: Loxone | I2C | Luxtronik2
                ♡-lichen Dank an meine Sponsoren

                K UncleSamU 2 Antworten Letzte Antwort
                0
                • UncleSamU UncleSam

                  @mickym sagte in Befehle von Neeo nach ioBroker senden:

                  actualDriverObject.addSwitch({ name: 'Schalter', label: 'Schalter' },{
                    setter: (deviceId, newValue) => {
                      switchState = newValue;
                      http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Switch?value=" + newValue);
                    },
                    getter: (deviceId) => switchState,})
                  
                  

                  Das hier geht, oder? Wenn du etwas änderst, musst du immer schauen, dass die öffnenden und schliessenden Klammern (rund, geschweift, eckig) übereinstimmen.

                  Ergo sollte es IMHO heissen:

                  actualDriverObject.addSwitch({ name: 'Schalter', label: 'Schalter' },{
                    setter: (deviceId, newValue) => {
                      switchState = newValue;
                      if (newValue) {
                        http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Switch?value=wahr"
                      } else {
                        http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Switch?value=falsch"
                      }
                    },
                    getter: (deviceId) => switchState,})
                  
                  K Offline
                  K Offline
                  Kusi
                  schrieb am zuletzt editiert von Kusi
                  #52

                  @UncleSam Gemäss Fehler beim vorherigen Laden des Treibers liegt der Fehler vermutlich an einem anderen Ort?

                  Zeilen 28 und 29 von index.js

                  // Here is the code that gets executed when a button is pressed.
                  actualDriverObject.addButtonHandler((buttonName, deviceId) => {
                  
                  UncleSamU 1 Antwort Letzte Antwort
                  0
                  • K Kusi

                    @UncleSam Gemäss Fehler beim vorherigen Laden des Treibers liegt der Fehler vermutlich an einem anderen Ort?

                    Zeilen 28 und 29 von index.js

                    // Here is the code that gets executed when a button is pressed.
                    actualDriverObject.addButtonHandler((buttonName, deviceId) => {
                    
                    UncleSamU Offline
                    UncleSamU Offline
                    UncleSam
                    Developer
                    schrieb am zuletzt editiert von
                    #53

                    @Kusi Wenn Zeichen fehlen auf den vorherigen Zeilen, kann es sehr gut sein, dass der Fehler erst auf der nächsten Code-Zeile "zum Vorschein" kommt.

                    Bitte bei Problemen mit meinen Adaptern, Issue auf GitHub erfassen: Loxone | I2C | Luxtronik2
                    ♡-lichen Dank an meine Sponsoren

                    K 1 Antwort Letzte Antwort
                    0
                    • UncleSamU UncleSam

                      @Kusi Wenn Zeichen fehlen auf den vorherigen Zeilen, kann es sehr gut sein, dass der Fehler erst auf der nächsten Code-Zeile "zum Vorschein" kommt.

                      K Offline
                      K Offline
                      Kusi
                      schrieb am zuletzt editiert von Kusi
                      #54

                      @UncleSam Aus meiner Sicht fehlt irgendwo eine schliessende Klammer, denn die Öffnende ist bei

                      actualDriverObject.addSwitch(
                      

                      Woher weis die If-Schleife eigentlich, ob der Wert/Schalter true oder false isch?

                      UncleSamU 1 Antwort Letzte Antwort
                      0
                      • UncleSamU UncleSam

                        @mickym sagte in Befehle von Neeo nach ioBroker senden:

                        actualDriverObject.addSwitch({ name: 'Schalter', label: 'Schalter' },{
                          setter: (deviceId, newValue) => {
                            switchState = newValue;
                            http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Switch?value=" + newValue);
                          },
                          getter: (deviceId) => switchState,})
                        
                        

                        Das hier geht, oder? Wenn du etwas änderst, musst du immer schauen, dass die öffnenden und schliessenden Klammern (rund, geschweift, eckig) übereinstimmen.

                        Ergo sollte es IMHO heissen:

                        actualDriverObject.addSwitch({ name: 'Schalter', label: 'Schalter' },{
                          setter: (deviceId, newValue) => {
                            switchState = newValue;
                            if (newValue) {
                              http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Switch?value=wahr"
                            } else {
                              http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Switch?value=falsch"
                            }
                          },
                          getter: (deviceId) => switchState,})
                        
                        UncleSamU Offline
                        UncleSamU Offline
                        UncleSam
                        Developer
                        schrieb am zuletzt editiert von
                        #55

                        @UncleSam sagte in Befehle von Neeo nach ioBroker senden:

                        Ergo sollte es IMHO heissen:

                        actualDriverObject.addSwitch({ name: 'Schalter', label: 'Schalter' },{
                          setter: (deviceId, newValue) => {
                            switchState = newValue;
                            if (newValue) {
                              http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Switch?value=wahr"
                            } else {
                              http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Switch?value=falsch"
                            }
                          },
                          getter: (deviceId) => switchState,})
                        

                        Genau. Zeile 10.

                        Bitte bei Problemen mit meinen Adaptern, Issue auf GitHub erfassen: Loxone | I2C | Luxtronik2
                        ♡-lichen Dank an meine Sponsoren

                        K 1 Antwort Letzte Antwort
                        0
                        • UncleSamU UncleSam

                          @UncleSam sagte in Befehle von Neeo nach ioBroker senden:

                          Ergo sollte es IMHO heissen:

                          actualDriverObject.addSwitch({ name: 'Schalter', label: 'Schalter' },{
                            setter: (deviceId, newValue) => {
                              switchState = newValue;
                              if (newValue) {
                                http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Switch?value=wahr"
                              } else {
                                http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Switch?value=falsch"
                              }
                            },
                            getter: (deviceId) => switchState,})
                          

                          Genau. Zeile 10.

                          K Offline
                          K Offline
                          Kusi
                          schrieb am zuletzt editiert von Kusi
                          #56

                          @UncleSam Das ist jetzt die Antwort beim Treiber-Start:

                          pi@raspberrypi:~ $ node /home/pi/node_modules/neeo_driver-test
                          /home/pi/node_modules/neeo_driver-test/index.js:25
                                http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Switch?value=wahr"
                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                          
                          SyntaxError: missing ) after argument list
                              at wrapSafe (internal/modules/cjs/loader.js:1053:16)
                              at Module._compile (internal/modules/cjs/loader.js:1101:27)
                              at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
                              at Module.load (internal/modules/cjs/loader.js:985:32)
                              at Function.Module._load (internal/modules/cjs/loader.js:878:14)
                              at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
                              at internal/main/run_main_module.js:17:47
                          
                          

                          Klammer fehlten!

                          1 Antwort Letzte Antwort
                          0
                          • K Kusi

                            @UncleSam Aus meiner Sicht fehlt irgendwo eine schliessende Klammer, denn die Öffnende ist bei

                            actualDriverObject.addSwitch(
                            

                            Woher weis die If-Schleife eigentlich, ob der Wert/Schalter true oder false isch?

                            UncleSamU Offline
                            UncleSamU Offline
                            UncleSam
                            Developer
                            schrieb am zuletzt editiert von
                            #57

                            @Kusi sagte in Befehle von Neeo nach ioBroker senden:

                            Woher weis die If-Schleife eigentlich, ob der Wert/Schalter true oder false isch?

                            if (newValue) überprüft den übergebenen neuen Wert, wenn der true (oder etwas ähnliches) ist, wird das erste ausgeführt, sonst das zweite.

                            Bitte bei Problemen mit meinen Adaptern, Issue auf GitHub erfassen: Loxone | I2C | Luxtronik2
                            ♡-lichen Dank an meine Sponsoren

                            1 Antwort Letzte Antwort
                            0
                            • UncleSamU Offline
                              UncleSamU Offline
                              UncleSam
                              Developer
                              schrieb am zuletzt editiert von
                              #58

                              Sorry, falsches korrigiert:

                              actualDriverObject.addSwitch({ name: 'Schalter', label: 'Schalter' },{
                                setter: (deviceId, newValue) => {
                                  switchState = newValue;
                                  if (newValue) {
                                    http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Switch?value=wahr");
                                  } else {
                                    http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Switch?value=falsch");
                                  }
                                },
                                getter: (deviceId) => switchState,})
                              

                              Bitte bei Problemen mit meinen Adaptern, Issue auf GitHub erfassen: Loxone | I2C | Luxtronik2
                              ♡-lichen Dank an meine Sponsoren

                              K 1 Antwort Letzte Antwort
                              0
                              • UncleSamU UncleSam

                                Sorry, falsches korrigiert:

                                actualDriverObject.addSwitch({ name: 'Schalter', label: 'Schalter' },{
                                  setter: (deviceId, newValue) => {
                                    switchState = newValue;
                                    if (newValue) {
                                      http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Switch?value=wahr");
                                    } else {
                                      http("http://192.168.1.15:8087/set/javascript.0.Eigene_Datenpunkte.Neeo-Switch?value=falsch");
                                    }
                                  },
                                  getter: (deviceId) => switchState,})
                                
                                K Offline
                                K Offline
                                Kusi
                                schrieb am zuletzt editiert von
                                #59

                                @UncleSam Wie beende ich denn jetzt den Treiber, ohne dass ich den Raspi neu starten muss??

                                pi@raspberrypi:~ $ node /home/pi/node_modules/neeo_driver-test
                                # READY! use the NEEO app to search for: ioBroker
                                
                                  ACCESOIRE devices do not have their own recipy slides.
                                  You need to add the buttons as shortcuts to an existing device slide,
                                  add a dummy device (search for dummy) and add the buttons as shortcut there or
                                  change the actualDriverObject.setType line to present this driver as a different device type.
                                
                                UncleSamU 1 Antwort Letzte Antwort
                                0
                                • K Kusi

                                  @UncleSam Wie beende ich denn jetzt den Treiber, ohne dass ich den Raspi neu starten muss??

                                  pi@raspberrypi:~ $ node /home/pi/node_modules/neeo_driver-test
                                  # READY! use the NEEO app to search for: ioBroker
                                  
                                    ACCESOIRE devices do not have their own recipy slides.
                                    You need to add the buttons as shortcuts to an existing device slide,
                                    add a dummy device (search for dummy) and add the buttons as shortcut there or
                                    change the actualDriverObject.setType line to present this driver as a different device type.
                                  
                                  UncleSamU Offline
                                  UncleSamU Offline
                                  UncleSam
                                  Developer
                                  schrieb am zuletzt editiert von
                                  #60

                                  @Kusi Ctrl-C in dem Putty-Fenster in dem der driver läuft.

                                  Bitte bei Problemen mit meinen Adaptern, Issue auf GitHub erfassen: Loxone | I2C | Luxtronik2
                                  ♡-lichen Dank an meine Sponsoren

                                  K 2 Antworten Letzte Antwort
                                  0
                                  • UncleSamU UncleSam

                                    @Kusi Ctrl-C in dem Putty-Fenster in dem der driver läuft.

                                    K Offline
                                    K Offline
                                    Kusi
                                    schrieb am zuletzt editiert von
                                    #61

                                    @UncleSam sagte in Befehle von Neeo nach ioBroker senden:

                                    @Kusi Ctrl-C in dem Putty-Fenster in dem der driver läuft.

                                    Danke.

                                    Laden des Treibers funktioniert, jedoch ändert der DP nicht.

                                    1 Antwort Letzte Antwort
                                    0
                                    • UncleSamU UncleSam

                                      @Kusi Ctrl-C in dem Putty-Fenster in dem der driver läuft.

                                      K Offline
                                      K Offline
                                      Kusi
                                      schrieb am zuletzt editiert von
                                      #62

                                      @UncleSam sagte in Befehle von Neeo nach ioBroker senden:

                                      @Kusi Ctrl-C in dem Putty-Fenster in dem der driver läuft.

                                      Gibt es auch eine Möglichkeit den Treiber zu stoppen, wenn dieser als Java aus ioBroker gestartet wird?

                                      1 Antwort Letzte Antwort
                                      0
                                      Antworten
                                      • In einem neuen Thema antworten
                                      Anmelden zum Antworten
                                      • Älteste zuerst
                                      • Neuste zuerst
                                      • Meiste Stimmen


                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      495

                                      Online

                                      32.7k

                                      Benutzer

                                      82.4k

                                      Themen

                                      1.3m

                                      Beiträge
                                      Community
                                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                      ioBroker Community 2014-2025
                                      logo
                                      • Anmelden

                                      • Du hast noch kein Konto? Registrieren

                                      • Anmelden oder registrieren, um zu suchen
                                      • Erster Beitrag
                                        Letzter Beitrag
                                      0
                                      • Home
                                      • Aktuell
                                      • Tags
                                      • Ungelesen 0
                                      • Kategorien
                                      • Unreplied
                                      • Beliebt
                                      • GitHub
                                      • Docu
                                      • Hilfe