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. Skripten / Logik
  4. JavaScript
  5. Omlet Hühnerstall webhook API

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    15
    1
    209

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

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

Omlet Hühnerstall webhook API

Geplant Angeheftet Gesperrt Verschoben JavaScript
26 Beiträge 3 Kommentatoren 119 Aufrufe 2 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.
  • J jwerlsdf

    Hallo,
    ich benötige eure Hilfe. Wir haben einen Hühnerstall mit automatischer Türstation von omlet. Beim Hersteller gibt es verschiedene Möglichkeiten, diese ins smarthome einzubinden. Bei HA gibt es sogar schon einen Adapter dazu, leider aber nicht hier.
    Daher wollte ich das ganze über ein Skript machen.
    Auf der Herstellerseite gibt es eine Doku über webhook/ API etc. (https://smart.omlet.de/developers/webhooks) aber leider kann ich damit als Laie nichts anfangen. Würde mir bitte jemand an dieser Stelle helfen?

    OliverIOO Offline
    OliverIOO Offline
    OliverIO
    schrieb am zuletzt editiert von OliverIO
    #2

    @jwerlsdf

    wäre generell nicht so schwer.
    man könnte im javascript adapter einen kleinen webserver mit der express bibliothek erstellen, welche auf eine bestimmte url auf einem bestimmten port horcht und bei aufruf die eingehenden daten auswertet (das json was in der omlet doku angegeben ist) und dann in einen datenpunkt schreibt oder entsprechend aktionen auslöst.

    dann benötigst du noch einen dyndns dienst, damit deine wechselnde ip unter einer festen domain erreichbar ist. manche router anbieter bieten sowas an.

    dann müsste man einen port öffnen. idealerweise installiert man noch einen reverseproxy dazwischen + fail2ban

    dann öffnet man einen port (der reverse proxy + fail2ban minimiert das angriffsrisiko von aussen) und leitet diesen aussen port an den oben port weiter unter dem dein webserver läuft

    die url + domain+aussen port gibt man dann im omlet portal bekannt,
    so das die dann bei einem ereignis den webhook bei dir aufrufen kann

    ps
    die ha integration nutz primär die api und pollt dann. also fragt aktive alle x sekunden ab. keine ahnung ob die api da irgendwelche limts hat die pro tag ausgeführt werden dürfen.
    das pollen würde dann das domain/reverseproxy geraffel sparen.

    Meine Adapter und Widgets
    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
    Links im Profil

    1 Antwort Letzte Antwort
    0
    • J Offline
      J Offline
      jwerlsdf
      schrieb am zuletzt editiert von jwerlsdf
      #3

      Vielen Dank für deine Rückmeldung. Was ist mir wichtig:
      Ich möchte übers smarthome den Status in Echtzeit verändern können (Licht an/aus, Tür auf/zu). Den Status z.B. ob die Tür auf/ zu benötige ich nicht in Echtzeit.
      Dyndns etc. ist mir zu umständlich (auch, weil mir dazu das Fachwissen fehlt). Das Pollen auf z.B. alle 5 Minuten reicht mir um den Status zu erhalten. Der Befehl, den ich ja lossende, erfolg ja in Echtzeit. Ich denke, das wäre die "einfachste" Umsetzung?

      OliverIOO 1 Antwort Letzte Antwort
      0
      • J jwerlsdf

        Vielen Dank für deine Rückmeldung. Was ist mir wichtig:
        Ich möchte übers smarthome den Status in Echtzeit verändern können (Licht an/aus, Tür auf/zu). Den Status z.B. ob die Tür auf/ zu benötige ich nicht in Echtzeit.
        Dyndns etc. ist mir zu umständlich (auch, weil mir dazu das Fachwissen fehlt). Das Pollen auf z.B. alle 5 Minuten reicht mir um den Status zu erhalten. Der Befehl, den ich ja lossende, erfolg ja in Echtzeit. Ich denke, das wäre die "einfachste" Umsetzung?

        OliverIOO Offline
        OliverIOO Offline
        OliverIO
        schrieb am zuletzt editiert von
        #4

        @jwerlsdf

        ja, das wäre dann die api
        https://smart.omlet.de/developers/js-sdk
        dazu musst du dir ein token generieren, wie im link beschrieben.
        Mit den token kannst du dann mittels javascript eine omlet instanz erzeugen.

        Über die omlet instanz kannst du dann alle befehle ausführen

        • alle devices auflisten
        • auf ein bestimmtes device zugreifen
        • die möglichen aktionen abfragen (in der doku sehe ich auf die schnelle nur door und light)
        • den status eines devices abfragen
        • aktionen an einem device ausführen

        die anderen management funktionen wie user zu gruppen add/del/list wirst du nicht brauchen.

        im einfachsten fall wird so ein skript zum öffnen einer tür so aussehen
        apitoken und deviceid stehen da natürlich jetzt platzhalter drin

        import { createOmlet } from 'smartcoop-sdk';
        const omlet = createOmlet('apitoken');
        const device = await omlet.getDeviceById('deviceid123456');
        const openAction = device.getActions().find((action) -> action.name === 'open');
        if (openAction) {
            await device.action(openAction)
        }
        
        

        Meine Adapter und Widgets
        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
        Links im Profil

        1 Antwort Letzte Antwort
        0
        • J Offline
          J Offline
          jwerlsdf
          schrieb am zuletzt editiert von
          #5

          Wenn ich "npm install smartcoop-sdk" ausführe bekomme ich folgenden Fehler:

          node_modules/oauth2-server/node_modules/lodash
            oauth2-server  <=3.1.1
            Depends on vulnerable versions of lodash
            node_modules/oauth2-server
              @iobroker/webserver  >=1.1.0
              Depends on vulnerable versions of oauth2-server
              node_modules/@iobroker/webserver
                iobroker.admin  >=7.5.0
                Depends on vulnerable versions of @iobroker/webserver
                node_modules/iobroker.admin
          
          
          6 high severity vulnerabilities
          
          To address all issues, run:
            npm audit fix
          
          

          Ich habe die npm version 10.X und ich denke, dass ich die Version 11 benötige, oder woran könnte das liegen?

          OliverIOO 1 Antwort Letzte Antwort
          0
          • J jwerlsdf

            Wenn ich "npm install smartcoop-sdk" ausführe bekomme ich folgenden Fehler:

            node_modules/oauth2-server/node_modules/lodash
              oauth2-server  <=3.1.1
              Depends on vulnerable versions of lodash
              node_modules/oauth2-server
                @iobroker/webserver  >=1.1.0
                Depends on vulnerable versions of oauth2-server
                node_modules/@iobroker/webserver
                  iobroker.admin  >=7.5.0
                  Depends on vulnerable versions of @iobroker/webserver
                  node_modules/iobroker.admin
            
            
            6 high severity vulnerabilities
            
            To address all issues, run:
              npm audit fix
            
            

            Ich habe die npm version 10.X und ich denke, dass ich die Version 11 benötige, oder woran könnte das liegen?

            OliverIOO Offline
            OliverIOO Offline
            OliverIO
            schrieb am zuletzt editiert von
            #6

            @jwerlsdf

            Zusätzliche Bibliotheken im JavaScript Adapter musst du in den JavaScript Einstellungen unter
            Additional modules eintragen
            Evtl musst du im Script den Import mot require umstellen

            const inlet = require(„smartcoop-sdk“)
            

            Diemeldung ist nur eine Warnung

            Kann aktuellnix selbst ausprobieren
            Da wir unterwegs sind

            Meine Adapter und Widgets
            TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
            Links im Profil

            1 Antwort Letzte Antwort
            0
            • J Offline
              J Offline
              jwerlsdf
              schrieb am zuletzt editiert von
              #7
              javascript.0	22:08:36.346	error	
              compile failed at: script.js.Aussenanlage_Omlet:2
              javascript.0	22:08:36.347	error	
              import { createOmlet } from 'smartcoop-sdk';
              javascript.0	22:08:36.348	error	
              ^^^^^^
              javascript.0	22:08:36.348	error	
              SyntaxError: Cannot use import statement outside a module
              javascript.0	22:08:36.349	error	
                  at new Script (node:vm:117:7)
              javascript.0	22:08:36.349	error	
                  at JavaScript.createVM (/opt/iobroker/node_modules/iobroker.javascript/build/main.js:1829:25)
              javascript.0	22:08:36.349	error	
                  at JavaScript.prepareScript (/opt/iobroker/node_modules/iobroker.javascript/build/main.js:2096:44)
              javascript.0	22:08:36.349	error	
                  at process.processTicksAndRejections (node:internal/process/task_queues:103:5)
              javascript.0	22:09:11.622	info	
              Stopping script
              javascript.0	22:09:11.630	info	
              start JavaScript (Javascript/js)
              javascript.0	22:09:11.630	error	
              compile failed at: script.js.Aussenanlage_Omlet:2
              javascript.0	22:09:11.631	error	
              const inlet = require(„smartcoop-sdk“)
              javascript.0	22:09:11.631	error	
                                    
              javascript.0	22:09:11.631	error	
              SyntaxError: Invalid or unexpected token
              javascript.0	22:09:11.631	error	
                  at new Script (node:vm:117:7)
              javascript.0	22:09:11.631	error	
                  at JavaScript.createVM (/opt/iobroker/node_modules/iobroker.javascript/build/main.js:1829:25)
              javascript.0	22:09:11.631	error	
                  at JavaScript.prepareScript (/opt/iobroker/node_modules/iobroker.javascript/build/main.js:2096:44)
              javascript.0	22:09:11.631	error	
                  at process.processTicksAndRejections (node:internal/process/task_queues:103:5)
              javascript.0	22:09:30.791	info	
              Stopping script
              javascript.0	22:09:30.798	info	
              start JavaScript (Javascript/js)
              javascript.0	22:09:30.798	error	
              compile failed at: script.js.Aussenanlage_Omlet:2
              javascript.0	22:09:30.798	error	
              const inlet = require(„smartcoop-sdk“)
              javascript.0	22:09:30.798	error	
                                    
              javascript.0	22:09:30.799	error	
              SyntaxError: Invalid or unexpected token
              javascript.0	22:09:30.799	error	
                  at new Script (node:vm:117:7)
              javascript.0	22:09:30.799	error	
                  at JavaScript.createVM (/opt/iobroker/node_modules/iobroker.javascript/build/main.js:1829:25)
              javascript.0	22:09:30.799	error	
                  at JavaScript.prepareScript (/opt/iobroker/node_modules/iobroker.javascript/build/main.js:2096:44)
              javascript.0	22:09:30.799	error	
                  at process.processTicksAndRejections (node:internal/process/task_queues:103:5)
              

              Geht leider beides nicht. smartcoop-sdk ist als Modul in der javainstanz eingetragen

              OliverIOO 1 Antwort Letzte Antwort
              0
              • J jwerlsdf
                javascript.0	22:08:36.346	error	
                compile failed at: script.js.Aussenanlage_Omlet:2
                javascript.0	22:08:36.347	error	
                import { createOmlet } from 'smartcoop-sdk';
                javascript.0	22:08:36.348	error	
                ^^^^^^
                javascript.0	22:08:36.348	error	
                SyntaxError: Cannot use import statement outside a module
                javascript.0	22:08:36.349	error	
                    at new Script (node:vm:117:7)
                javascript.0	22:08:36.349	error	
                    at JavaScript.createVM (/opt/iobroker/node_modules/iobroker.javascript/build/main.js:1829:25)
                javascript.0	22:08:36.349	error	
                    at JavaScript.prepareScript (/opt/iobroker/node_modules/iobroker.javascript/build/main.js:2096:44)
                javascript.0	22:08:36.349	error	
                    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)
                javascript.0	22:09:11.622	info	
                Stopping script
                javascript.0	22:09:11.630	info	
                start JavaScript (Javascript/js)
                javascript.0	22:09:11.630	error	
                compile failed at: script.js.Aussenanlage_Omlet:2
                javascript.0	22:09:11.631	error	
                const inlet = require(„smartcoop-sdk“)
                javascript.0	22:09:11.631	error	
                                      
                javascript.0	22:09:11.631	error	
                SyntaxError: Invalid or unexpected token
                javascript.0	22:09:11.631	error	
                    at new Script (node:vm:117:7)
                javascript.0	22:09:11.631	error	
                    at JavaScript.createVM (/opt/iobroker/node_modules/iobroker.javascript/build/main.js:1829:25)
                javascript.0	22:09:11.631	error	
                    at JavaScript.prepareScript (/opt/iobroker/node_modules/iobroker.javascript/build/main.js:2096:44)
                javascript.0	22:09:11.631	error	
                    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)
                javascript.0	22:09:30.791	info	
                Stopping script
                javascript.0	22:09:30.798	info	
                start JavaScript (Javascript/js)
                javascript.0	22:09:30.798	error	
                compile failed at: script.js.Aussenanlage_Omlet:2
                javascript.0	22:09:30.798	error	
                const inlet = require(„smartcoop-sdk“)
                javascript.0	22:09:30.798	error	
                                      
                javascript.0	22:09:30.799	error	
                SyntaxError: Invalid or unexpected token
                javascript.0	22:09:30.799	error	
                    at new Script (node:vm:117:7)
                javascript.0	22:09:30.799	error	
                    at JavaScript.createVM (/opt/iobroker/node_modules/iobroker.javascript/build/main.js:1829:25)
                javascript.0	22:09:30.799	error	
                    at JavaScript.prepareScript (/opt/iobroker/node_modules/iobroker.javascript/build/main.js:2096:44)
                javascript.0	22:09:30.799	error	
                    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)
                

                Geht leider beides nicht. smartcoop-sdk ist als Modul in der javainstanz eingetragen

                OliverIOO Offline
                OliverIOO Offline
                OliverIO
                schrieb am zuletzt editiert von
                #8

                @jwerlsdf

                Require ist das richtige.
                Das scheitert aber an Token

                Invalid or unexpected token

                Meine Adapter und Widgets
                TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                Links im Profil

                1 Antwort Letzte Antwort
                0
                • J Offline
                  J Offline
                  jwerlsdf
                  schrieb am zuletzt editiert von
                  #9

                  Ich habe sogar einen zweiten erstellt. Aber leider kommt immer noch dieser Fehler...

                  OliverIOO 2 Antworten Letzte Antwort
                  0
                  • J jwerlsdf

                    Ich habe sogar einen zweiten erstellt. Aber leider kommt immer noch dieser Fehler...

                    OliverIOO Offline
                    OliverIOO Offline
                    OliverIO
                    schrieb am zuletzt editiert von
                    #10

                    @jwerlsdf

                    Dann bitte deine aktuelle Version posten, Token kannst du anonymisiereb

                    Meine Adapter und Widgets
                    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                    Links im Profil

                    1 Antwort Letzte Antwort
                    0
                    • J jwerlsdf

                      Ich habe sogar einen zweiten erstellt. Aber leider kommt immer noch dieser Fehler...

                      OliverIOO Offline
                      OliverIOO Offline
                      OliverIO
                      schrieb am zuletzt editiert von
                      #11

                      @jwerlsdf

                      so hier mal noch eine bessere version

                      bitte prüfe nochmal Zeile 4 ob du dort auch das apitoken aus dem omlet portal eingetragen hast.
                      wenn die Anmeldung mit dem skript funktioniert, sollte es auf der konsole einmal die liste aller devices ausgeben
                      wenn wir daraus die id der tür ablesen können, können wir die in zeile 8
                      eintragen und nach einem erneuten start sollte sich die tür öffnen. (zeile11)

                      const { createOmlet } = require('smartcoop-sdk');
                      
                      async function main() {
                          const omlet = await createOmlet('apitoken'); //hier den api token aus dem omlet portal eintragen
                          const devices = await omlet.getDevices();
                          console.log("Devices:");
                          console.log(devices); // gibt alle devices aus
                          const device = await omlet.getDeviceById('deviceid123456');  // hier ist aktuell auch noch ein dummy drin, den müssen wir dann aktualisieren wenn wir die liste der devices haben.
                          const openAction = device.getActions().find((action) => action.name === 'open'); //sucht die open aktion im device
                          if (openAction) { // falls die gefunden wurde
                              await device.action(openAction)  //wird die aktion dann hier ausgeführt
                          }
                      }
                      main();
                      
                      

                      Meine Adapter und Widgets
                      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                      Links im Profil

                      1 Antwort Letzte Antwort
                      0
                      • J Offline
                        J Offline
                        jwerlsdf
                        schrieb am zuletzt editiert von
                        #12

                        Screenshot 2026-03-08 093330.png

                        Ist eingetragen.
                        Fehler:

                        avascript.0
                        2026-03-08 09:34:30.509	error	TypeError: Cannot read properties of undefined (reading 'state') at createOmletType (/opt/iobroker/node_modules/@iobroker-javascript.0/smartcoop-sdk/dist/factories/type.factory.js:129:29) at createOmletType (/opt/iobroker/node_modules/@iobroker-javascript.0/smartcoop-sdk/dist/factories/type.factory.js:96:25) at createOmletType (/opt/iobroker/node_modules/@iobroker-javascript.0/smartcoop-sdk/dist/factories/type.factory.js:148:24) at /opt/iobroker/node_modules/@iobroker-javascript.0/smartcoop-sdk/dist/omlet.js:24:136 at Array.map (<anonymous>) at Object.<anonymous> (/opt/iobroker/node_modules/@iobroker-javascript.0/smartcoop-sdk/dist/omlet.js:24:34) at Generator.next (<anonymous>) at fulfilled (/opt/iobroker/node_modules/@iobroker-javascript.0/smartcoop-sdk/dist/omlet.js:5:58) at process.processTicksAndRejections (node:internal/process/task_queues:103:5)
                        
                        javascript.0
                        2026-03-08 09:34:30.508	error	Error: Cannot read properties of undefined (reading 'state')
                        
                        javascript.0
                        2026-03-08 09:34:30.508	error	An error happened which is most likely from one of your scripts, but the originating script could not be detected.
                        
                        OliverIOO 1 Antwort Letzte Antwort
                        0
                        • J jwerlsdf

                          Screenshot 2026-03-08 093330.png

                          Ist eingetragen.
                          Fehler:

                          avascript.0
                          2026-03-08 09:34:30.509	error	TypeError: Cannot read properties of undefined (reading 'state') at createOmletType (/opt/iobroker/node_modules/@iobroker-javascript.0/smartcoop-sdk/dist/factories/type.factory.js:129:29) at createOmletType (/opt/iobroker/node_modules/@iobroker-javascript.0/smartcoop-sdk/dist/factories/type.factory.js:96:25) at createOmletType (/opt/iobroker/node_modules/@iobroker-javascript.0/smartcoop-sdk/dist/factories/type.factory.js:148:24) at /opt/iobroker/node_modules/@iobroker-javascript.0/smartcoop-sdk/dist/omlet.js:24:136 at Array.map (<anonymous>) at Object.<anonymous> (/opt/iobroker/node_modules/@iobroker-javascript.0/smartcoop-sdk/dist/omlet.js:24:34) at Generator.next (<anonymous>) at fulfilled (/opt/iobroker/node_modules/@iobroker-javascript.0/smartcoop-sdk/dist/omlet.js:5:58) at process.processTicksAndRejections (node:internal/process/task_queues:103:5)
                          
                          javascript.0
                          2026-03-08 09:34:30.508	error	Error: Cannot read properties of undefined (reading 'state')
                          
                          javascript.0
                          2026-03-08 09:34:30.508	error	An error happened which is most likely from one of your scripts, but the originating script could not be detected.
                          
                          OliverIOO Offline
                          OliverIOO Offline
                          OliverIO
                          schrieb zuletzt editiert von OliverIO
                          #13

                          @jwerlsdf

                          hast du alles kopiert?
                          Das ist eine Fehlermeldung die beim ersten Lauf auch zu erwarten wäre, da wir ja die konkrete Device ID noch nicht wissen.
                          Davor hätte es eigentlich eine Liste der vorhandenen Devices (door, light) ausgeben müssen. Habe ich aber eigentlich oben schon geschrieben

                          hier mal das gleiche Skript ergänzt mit ein paar logausgaben, das man sieht wie weit das skript gekommen ist

                          const { createOmlet } = require('smartcoop-sdk');
                          
                          async function main() {
                              console.log("start main");
                              const omlet = await createOmlet('apitoken');
                              console.log("get devices");
                              const devices = await omlet.getDevices();
                              console.log("Devices:");
                              console.log(devices);
                              const device = await omlet.getDeviceById('deviceid123456');
                              console.log("get actions");
                              const openAction = device.getActions().find((action) => action.name === 'open');
                              console.log("check action");
                              if (openAction) {
                                  console.log("do action");
                                  await device.action(openAction)
                              }
                          }
                          main();
                          
                          
                          

                          und nur nochmal zur Sicherheit weil ich hatte im vorletzten Post nach der API gefragt und du hast mir ein bild der bibliothek im javascript adapter gezeigt.

                          Du musst dir im omlet portal einen api token generieren.
                          diesen token entspricht sozusagen deinem userid/passwort. damit weiß omelt um welches konto es sich handelt.
                          in der dokumentation ist das unter Javascript SDK beschrieben
                          https://smart.omlet.de/developers/js-sdk

                          7d048462-529e-4490-980c-7ec790b091a0-image.png

                          Meine Adapter und Widgets
                          TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                          Links im Profil

                          HomoranH 1 Antwort Letzte Antwort
                          1
                          • J Offline
                            J Offline
                            jwerlsdf
                            schrieb zuletzt editiert von
                            #14

                            Screenshot 2026-03-08 210839.png

                            Auch mit dem erweiterten Skript von dir funktioniert es leider nicht:

                            
                            javascript.0
                            2026-03-08 21:07:59.264	error	TypeError: Cannot read properties of undefined (reading 'state') at createOmletType (/opt/iobroker/node_modules/@iobroker-javascript.0/smartcoop-sdk/dist/factories/type.factory.js:129:29) at createOmletType (/opt/iobroker/node_modules/@iobroker-javascript.0/smartcoop-sdk/dist/factories/type.factory.js:96:25) at createOmletType (/opt/iobroker/node_modules/@iobroker-javascript.0/smartcoop-sdk/dist/factories/type.factory.js:148:24) at /opt/iobroker/node_modules/@iobroker-javascript.0/smartcoop-sdk/dist/omlet.js:24:136 at Array.map (<anonymous>) at Object.<anonymous> (/opt/iobroker/node_modules/@iobroker-javascript.0/smartcoop-sdk/dist/omlet.js:24:34) at Generator.next (<anonymous>) at fulfilled (/opt/iobroker/node_modules/@iobroker-javascript.0/smartcoop-sdk/dist/omlet.js:5:58) at process.processTicksAndRejections (node:internal/process/task_queues:103:5)
                            
                            javascript.0
                            2026-03-08 21:07:59.264	error	Error: Cannot read properties of undefined (reading 'state')
                            
                            javascript.0
                            2026-03-08 21:07:59.264	error	An error happened which is most likely from one of your scripts, but the originating script could not be detected.
                            
                            OliverIOO 1 Antwort Letzte Antwort
                            0
                            • J jwerlsdf

                              Screenshot 2026-03-08 210839.png

                              Auch mit dem erweiterten Skript von dir funktioniert es leider nicht:

                              
                              javascript.0
                              2026-03-08 21:07:59.264	error	TypeError: Cannot read properties of undefined (reading 'state') at createOmletType (/opt/iobroker/node_modules/@iobroker-javascript.0/smartcoop-sdk/dist/factories/type.factory.js:129:29) at createOmletType (/opt/iobroker/node_modules/@iobroker-javascript.0/smartcoop-sdk/dist/factories/type.factory.js:96:25) at createOmletType (/opt/iobroker/node_modules/@iobroker-javascript.0/smartcoop-sdk/dist/factories/type.factory.js:148:24) at /opt/iobroker/node_modules/@iobroker-javascript.0/smartcoop-sdk/dist/omlet.js:24:136 at Array.map (<anonymous>) at Object.<anonymous> (/opt/iobroker/node_modules/@iobroker-javascript.0/smartcoop-sdk/dist/omlet.js:24:34) at Generator.next (<anonymous>) at fulfilled (/opt/iobroker/node_modules/@iobroker-javascript.0/smartcoop-sdk/dist/omlet.js:5:58) at process.processTicksAndRejections (node:internal/process/task_queues:103:5)
                              
                              javascript.0
                              2026-03-08 21:07:59.264	error	Error: Cannot read properties of undefined (reading 'state')
                              
                              javascript.0
                              2026-03-08 21:07:59.264	error	An error happened which is most likely from one of your scripts, but the originating script could not be detected.
                              
                              OliverIOO Offline
                              OliverIOO Offline
                              OliverIO
                              schrieb zuletzt editiert von OliverIO
                              #15

                              @jwerlsdf

                              Aber wo sind den die Ausgaben?
                              Zumindest die ersten paar Inhalte von console.log sollten dort auftauchen.
                              Wie schon geschrieben. Der Fehler wäre erklärbar. Aber wir brauchen die Ausgaben.

                              hier die logausgabe im scriptfenster.
                              aus irgendeinem grund kommt der fehler nicht wie früher auch in diesem fenster, sondern im iobroker log

                              so sieht das bei mir im script fenster aus
                              cc39ef97-9a23-4ebf-b7f0-6da07599840c-image.png

                              du siehst die beiden zeilen
                              start main und
                              get devices
                              und das was theoretisch bei dir nach
                              Devices:
                              kommt benötigen wir

                              so sieht das bei mir im iobroker log aus
                              1cbbc7bf-8732-47b2-bda8-6c9796a579b2-image.png

                              bei mir kommt der fehler 401, was schlich Not Authorized bedeutet, da ich ja keinen api key habe
                              evtl stellst du mal den log level des javascript adapters auf debug. evtl werden deswegen die ausgaben ausgefiltert

                              Meine Adapter und Widgets
                              TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                              Links im Profil

                              1 Antwort Letzte Antwort
                              1
                              • J Offline
                                J Offline
                                jwerlsdf
                                schrieb zuletzt editiert von
                                #16

                                ich bekomme leider keine LOG ausgabe:

                                image.png

                                image.png

                                Mehr gibt es leider nicht.

                                OliverIOO 1 Antwort Letzte Antwort
                                0
                                • J jwerlsdf

                                  ich bekomme leider keine LOG ausgabe:

                                  image.png

                                  image.png

                                  Mehr gibt es leider nicht.

                                  OliverIOO Offline
                                  OliverIOO Offline
                                  OliverIO
                                  schrieb zuletzt editiert von
                                  #17

                                  @jwerlsdf

                                  gut dann scheitert das schon bei getdevices.
                                  dann kann es nur am api key liegen
                                  evtl fragst du da mal beim support nach

                                  Meine Adapter und Widgets
                                  TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                                  Links im Profil

                                  1 Antwort Letzte Antwort
                                  0
                                  • J Offline
                                    J Offline
                                    jwerlsdf
                                    schrieb zuletzt editiert von
                                    #18

                                    Ok mach ich. Dann melde ich mich, wenn ich was neues erfahren habe. Danke schon mal für deine Hilfe.

                                    1 Antwort Letzte Antwort
                                    0
                                    • OliverIOO OliverIO

                                      @jwerlsdf

                                      hast du alles kopiert?
                                      Das ist eine Fehlermeldung die beim ersten Lauf auch zu erwarten wäre, da wir ja die konkrete Device ID noch nicht wissen.
                                      Davor hätte es eigentlich eine Liste der vorhandenen Devices (door, light) ausgeben müssen. Habe ich aber eigentlich oben schon geschrieben

                                      hier mal das gleiche Skript ergänzt mit ein paar logausgaben, das man sieht wie weit das skript gekommen ist

                                      const { createOmlet } = require('smartcoop-sdk');
                                      
                                      async function main() {
                                          console.log("start main");
                                          const omlet = await createOmlet('apitoken');
                                          console.log("get devices");
                                          const devices = await omlet.getDevices();
                                          console.log("Devices:");
                                          console.log(devices);
                                          const device = await omlet.getDeviceById('deviceid123456');
                                          console.log("get actions");
                                          const openAction = device.getActions().find((action) => action.name === 'open');
                                          console.log("check action");
                                          if (openAction) {
                                              console.log("do action");
                                              await device.action(openAction)
                                          }
                                      }
                                      main();
                                      
                                      
                                      

                                      und nur nochmal zur Sicherheit weil ich hatte im vorletzten Post nach der API gefragt und du hast mir ein bild der bibliothek im javascript adapter gezeigt.

                                      Du musst dir im omlet portal einen api token generieren.
                                      diesen token entspricht sozusagen deinem userid/passwort. damit weiß omelt um welches konto es sich handelt.
                                      in der dokumentation ist das unter Javascript SDK beschrieben
                                      https://smart.omlet.de/developers/js-sdk

                                      7d048462-529e-4490-980c-7ec790b091a0-image.png

                                      HomoranH Nicht stören
                                      HomoranH Nicht stören
                                      Homoran
                                      Global Moderator Administrators
                                      schrieb zuletzt editiert von
                                      #19

                                      @jwerlsdf
                                      Hast du in Zeile 5

                                      @OliverIO sagte in Omlet Hühnerstall webhook API:

                                      const omlet = await createOmlet('apitoken');

                                      deinen apitoken korrekt eingetragen?

                                      kein Support per PN! - Fragen im Forum stellen -

                                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                      ioBroker freut sich über eine Spende für das Forum. Benutzt dazu den Spendenbutton im Header. Danke!

                                      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                      OliverIOO 1 Antwort Letzte Antwort
                                      0
                                      • HomoranH Homoran

                                        @jwerlsdf
                                        Hast du in Zeile 5

                                        @OliverIO sagte in Omlet Hühnerstall webhook API:

                                        const omlet = await createOmlet('apitoken');

                                        deinen apitoken korrekt eingetragen?

                                        OliverIOO Offline
                                        OliverIOO Offline
                                        OliverIO
                                        schrieb zuletzt editiert von
                                        #20

                                        @Homoran sagte in Omlet Hühnerstall webhook API:

                                        deinen apitoken korrekt eingetragen?

                                        das habe ich bereits sehr oft gefragt.
                                        wenn es an dem lag geb ich sowieso auf.
                                        mein deal ist:
                                        ich bin sorgfältig
                                        DU/ER ist sorgfältig.
                                        wenn es einseitig ist,
                                        dann macht es kein spass

                                        Meine Adapter und Widgets
                                        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                                        Links im Profil

                                        HomoranH 1 Antwort Letzte Antwort
                                        1
                                        • OliverIOO OliverIO

                                          @Homoran sagte in Omlet Hühnerstall webhook API:

                                          deinen apitoken korrekt eingetragen?

                                          das habe ich bereits sehr oft gefragt.
                                          wenn es an dem lag geb ich sowieso auf.
                                          mein deal ist:
                                          ich bin sorgfältig
                                          DU/ER ist sorgfältig.
                                          wenn es einseitig ist,
                                          dann macht es kein spass

                                          HomoranH Nicht stören
                                          HomoranH Nicht stören
                                          Homoran
                                          Global Moderator Administrators
                                          schrieb zuletzt editiert von Homoran
                                          #21

                                          @OliverIO ich muss ehrlich sagen, ich wüsste jetzt nicht ob der zwischen die Anführungszeichen kommen müsste, oder ohne, und wenn ja, ob er die richtigen genommen hat. also keine Backticks o.ä.

                                          kein Support per PN! - Fragen im Forum stellen -

                                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                          ioBroker freut sich über eine Spende für das Forum. Benutzt dazu den Spendenbutton im Header. Danke!

                                          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                          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

                                          500

                                          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