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
    205

  • 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
24 Beiträge 3 Kommentatoren 102 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

    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
                    • J Offline
                      J Offline
                      jwerlsdf
                      schrieb zuletzt editiert von jwerlsdf
                      #22

                      @homoran
                      natürlich habe ich den token dort zwischen die Anführungszeichen eingetragen. Alternativ würde ich auch den token per pn schicken um definitiv das Problem von meiner Seite auszuschließen. Der Token ist von der Seite 1zu1 kopiert, kann also am "abschreiben" nicht liegen ;)

                      OliverIOO 2 Antworten Letzte Antwort
                      0
                      • J jwerlsdf

                        @homoran
                        natürlich habe ich den token dort zwischen die Anführungszeichen eingetragen. Alternativ würde ich auch den token per pn schicken um definitiv das Problem von meiner Seite auszuschließen. Der Token ist von der Seite 1zu1 kopiert, kann also am "abschreiben" nicht liegen ;)

                        OliverIOO Offline
                        OliverIOO Offline
                        OliverIO
                        schrieb zuletzt editiert von
                        #23

                        @jwerlsdf

                        ja dann sende ihn bitte per pn.
                        dann probiere ich das script mal unter vscode aus. da hat man mehr debug möglichkeiten

                        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 jwerlsdf

                          @homoran
                          natürlich habe ich den token dort zwischen die Anführungszeichen eingetragen. Alternativ würde ich auch den token per pn schicken um definitiv das Problem von meiner Seite auszuschließen. Der Token ist von der Seite 1zu1 kopiert, kann also am "abschreiben" nicht liegen ;)

                          OliverIOO Offline
                          OliverIOO Offline
                          OliverIO
                          schrieb zuletzt editiert von OliverIO
                          #24

                          @jwerlsdf

                          ok mit vscode kommt bei getdevices der selbe fehler.
                          ich versuche mal noch etwas anderes.


                          ok, keine ahnung ob es nun an der bibliothek liegt oder an etwas anderem.

                          1. per direkter axios kommunikation konnte ich nun die informationen abrufen

                          2. in den statusinformationen gab es diese information

                            lastConnected: "2026-03-07T14:06:16+00:00",
                            nextConnection: "2026-03-07T14:06:16+00:00",
                            overdueConnection: 1,

                          keine Ahnung, ob das jetzt daran liegt, das das gerät irgendwie seit gestern kein kontakt mehr hatte.

                          es gibt genau ein device id
                          dieses hat die folgenden aktionen die ausgeführt werden könnten

                          [
                            "calibrate => Calibrate Door",
                            "close => Close Door",
                            "detect => Detect Coop Light",
                            "factory_reset => Factory Reset",
                            "firmware_update => Check for Firmware Update",
                            "off => Light Off",
                            "on => Light On",
                            "open => Open Door",
                            "restart => Restart",
                            "setup_wifi => Reset Wifi Credentials",
                            "stop => Stop Door",
                          ]
                          

                          welche davon sinnvoll sind weiß ich nicht. such dir mal welche aus, die wir hier umsetzen wollen (erst mal mit den wichtigsten anfangen)

                          darüber hinaus sehe ich den status

                              state: {
                                light: {
                                  state: "onpending",
                                },
                                general: {
                                  firmwareVersionCurrent: "1.0.54-f3d53670",
                                  firmwareLastCheck: "2026-03-07T13:16:27+01:00",
                                  batteryLevel: 100,
                                  powerSource: "external",
                                  displayLine1: "                ",
                                  displayLine2: "                ",
                                  firmwareVersionPrevious: "1.0.47-6870ee4d",
                                  uptime: 6596,
                                },
                                connectivity: {
                                  wifiStrength: -70,
                                  ssid: "MTL",
                                  connected: false,
                                },
                                door: {
                                  state: "open",
                                  lastOpenTime: "2026-03-07T06:00:12+01:00",
                                  lastCloseTime: "2026-03-06T23:16:01+01:00",
                                  fault: "none",
                                  lightLevel: 100,
                                },
                              },
                          

                          und die configuration

                              configuration: {
                                door: {
                                  openMode: "time",
                                  openDelay: 0,
                                  openTime: "06:00",
                                  closeMode: "light",
                                  closeDelay: 0,
                                  closeLightLevel: 6,
                                  closeTime: "20:00",
                                  openLightLevel: 27,
                                  doorType: "sliding",
                                  colour: "green",
                                  lightOffset: 3,
                                  temperatureUnit: "C",
                                },
                                light: {
                                  mode: "auto",
                                  minutesBeforeClose: 5,
                                  maxOnTime: 3,
                                  equipped: 2,
                                },
                                connectivity: {
                                  wifiState: "on",
                                },
                                general: {
                                  datetime: "2026-03-07T14:56:35+01:00",
                                  timezone: "Europe/Berlin",
                                  updateFrequency: 86400,
                                  language: "de",
                                  stayAliveTime: 0,
                                  statusUpdatePeriod: 21600,
                                  pollFreq: 600,
                                  overnightSleepEnable: true,
                                  overnightSleepStart: "21:00",
                                  overnightSleepEnd: "05:00",
                                },
                              },
                          

                          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
                          Antworten
                          • In einem neuen Thema antworten
                          Anmelden zum Antworten
                          • Älteste zuerst
                          • Neuste zuerst
                          • Meiste Stimmen


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          265

                          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