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.
  • 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