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

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [Gelöst] Javascript schreibt nicht in Datenpunkt

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.3k

[Gelöst] Javascript schreibt nicht in Datenpunkt

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
18 Beiträge 7 Kommentatoren 1.4k Aufrufe
  • Ä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.
  • BluefoxB Offline
    BluefoxB Offline
    Bluefox
    schrieb am zuletzt editiert von
    #2

    Probier mal 'Dreambox_OG_Standby_Status' auf 'javascript.0.Dreambox_OG_Standby_Status' zu ersetzen..

    Wieso machst du "type" = "object" und schreibst dabei boolean?

    Mach type=boolean (Das hat aber mit deinem Fehler wenig zu tun. Einfach Feng Shui)

    1 Antwort Letzte Antwort
    0
    • L Offline
      L Offline
      LJSven
      schrieb am zuletzt editiert von
      #3

      Geschrieben wir wieder nichts :-( Bin neu auf dem Gebiet. Es erscheint ein Warning:

      ! javascript.0 2018-05-07 22:09:16.176 warn at Parser. (/opt/iobroker/node_modules/iobroker.javascript/node_modules/xml2js/lib/parser.js:303:18)
      ! javascript.0 2018-05-07 22:09:16.176 warn at script.js.common.Dreambox_OG.Standby_Status_DB_OG:17:9
      ! javascript.0 2018-05-07 22:09:16.156 warn Wrong type of javascript.0.Dreambox_OG_Standby_Status: "object". Please fix, while deprecated and will not work in next versions.
      ! javascript.0 2018-05-07 22:09:15.834 info script.js.common.Dreambox_OG.Standby_Status_DB_OG: registered 0 subscriptions and 0 schedules
      ! javascript.0 2018-05-07 22:09:15.820 info Start javascript script.js.common.Dreambox_OG.Standby_Status_DB_OG
      ! javascript.0 2018-05-07 22:09:15.801 info Stop script script.js.common.Dreambox_OG.Standby_Status_DB_OG
      ! javascript.0 2018-05-07 22:09:05.156 info script.js.common.Dreambox_OG.Standby_Status_DB_OG: true

      1 Antwort Letzte Antwort
      0
      • D Offline
        D Offline
        dna909
        schrieb am zuletzt editiert von
        #4

        > setState('Dreambox_OG_Standby_Status', stateDB, true);

        nimm mal da das true raus.

        Das gehört da glaub ich nicht hin.

        setState('Dreambox_OG_Standby_Status', stateDB);
        

        MfG

        dna909

        Intel NUC7PJYH mit Proxmox, Odroid U2, CCU2, Philips Hue, ESP8266, Xiaomi Robot, Google Chromecast Audio, Instar 6012HD, Bosch HNG6764S6

        1 Antwort Letzte Antwort
        0
        • L Offline
          L Offline
          LJSven
          schrieb am zuletzt editiert von
          #5

          Kein Ahnung was ich falsch mache. Wenn ich diese Zeile ändere, z.b. in "Test" ändere, schreibt er den Wert.

          var stateDB = "Test";
          

          Wenn ich den Befehl im Log aussgebe:````
          console.log(result.e2powerstate.e2instandby)

          
          Wenn ich es wie folgt mache, wird der Wert nicht übernommen:
          
          

          var stateDB = result.e2powerstate.e2instandby;

          
          Wo ist der Fehler?
          1 Antwort Letzte Antwort
          0
          • arteckA Offline
            arteckA Offline
            arteck
            Developer Most Active
            schrieb am zuletzt editiert von
            #6

            ist jetzt nicht dein ernst oder…

            var stateDB = getState('result.e2powerstate.e2instandby').val;
            

            zigbee hab ich, zwave auch, nuc's genauso und HA auch

            1 Antwort Letzte Antwort
            0
            • L Offline
              L Offline
              LJSven
              schrieb am zuletzt editiert von
              #7

              @arteck:

              ist jetzt nicht dein ernst oder…

              var stateDB = getState('result.e2powerstate.e2instandby').val;
              ```` `  
              

              Doch, ich bin da leider nicht erfahren. Allerdings kommt bei deinem Vorschlag folgende Meldung

              "getState "result.e2powerstate.e2instandby" not found (3)"

              Es geht auch hier darum, daß zuerst eine XML ausgelesen wird und dann der Wert in den Datenpunkt geschrieben werden soll.

              1 Antwort Letzte Antwort
              0
              • AlCalzoneA Offline
                AlCalzoneA Offline
                AlCalzone
                Developer
                schrieb am zuletzt editiert von
                #8

                @LJSven:

                Doch, ich bin da leider nicht erfahren. Allerdings kommt bei deinem Vorschlag folgende Meldung

                "getState "result.e2powerstate.e2instandby" not found (3)" `

                Das macht schon Sinn wie du es hattest. result.e2powerstate.e2instandby ist eine Variable in deinem ausgelesenen Objekt und kein State in ioBroker.
                > Wrong type of javascript.0.Dreambox_OG_Standby_Status: "object"
                bedeutet aber, dass du nicht wie von Bluefox empfohlen den State mit Typ "boolean" (wahr/falsch) erstellst, sondern mit "object". Änder das erst mal und probiers dann nochmal.

                Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                1 Antwort Letzte Antwort
                0
                • paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von
                  #9

                  Offenbar enthält die Variable result.e2powerstate.e2instandby ein Objekt. Was ergibt ?

                  log(JSON.stringify(result.e2powerstate.e2instandby));
                  

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  1 Antwort Letzte Antwort
                  0
                  • L Offline
                    L Offline
                    LJSven
                    schrieb am zuletzt editiert von
                    #10

                    @paul53:

                    Offenbar enthält die Variable result.e2powerstate.e2instandby ein Objekt. Was ergibt ?

                    log(JSON.stringify(result.e2powerstate.e2instandby));
                    ```` `  
                    

                    javascript.0 script.js.common.Dreambox_OG.Standby_Status_DB_OG: ["true"]

                    1 Antwort Letzte Antwort
                    0
                    • paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von
                      #11

                      Das ist ein Array mit einem Element. Was ergibt ?

                      log(result.e2powerstate.e2instandby[0] + ' ' + typeof result.e2powerstate.e2instandby[0]);
                      

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                      1 Antwort Letzte Antwort
                      0
                      • L Offline
                        L Offline
                        LJSven
                        schrieb am zuletzt editiert von
                        #12

                        @paul53:

                        Das ist ein Array mit einem Element. Was ergibt ?

                        log(result.e2powerstate.e2instandby[0] + ' ' + typeof result.e2powerstate.e2instandby[0]);
                        ```` `  
                        

                        Das ergibt:

                        ! javascript.0 script.js.common.Dreambox_OG.Standby_Status_DB_OG: false string

                        Wenn ich es so mache, scheint es zu gehen:

                        stateDB = JSON.parse(result.e2powerstate.e2instandby);
                        

                        Ist das okay?

                        Kann ich ein Javascript via Blockly starten / stoppen?

                        1 Antwort Letzte Antwort
                        0
                        • paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb am zuletzt editiert von
                          #13

                          @LJSven:

                          var stateDB = JSON.parse(result.e2powerstate.e2instandby);
                          

                          Ist das okay? `
                          Ja.

                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                          1 Antwort Letzte Antwort
                          0
                          • L Offline
                            L Offline
                            LJSven
                            schrieb am zuletzt editiert von
                            #14

                            Prima! Kann als gelöst markiert werden.

                            PS. Wenn noch jemand eine Antwort hat, ob ich ein Scirpt per Blockly starten kann, bin ich happy.

                            1 Antwort Letzte Antwort
                            0
                            • wendy2702W Offline
                              wendy2702W Offline
                              wendy2702
                              schrieb am zuletzt editiert von
                              #15

                              Ja, das geht.

                              Gibt einen Datenpunkt zu deinem Script der heißt etwas mit „script.enabled“.

                              Z.B.

                              999_f84ea20d-0854-45b7-a64f-ced5c1869903.jpeg

                              Denn kannst du über eine Blockly per Cron z.B. Für 2-3 Sekunden auf „true“ setzen.

                              Das````
                              [Gelöst]

                              Bitte keine Fragen per PN, die gehören ins Forum!

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

                              1 Antwort Letzte Antwort
                              0
                              • L Offline
                                L Offline
                                LJSven
                                schrieb am zuletzt editiert von
                                #16

                                Hier mein Script um die Dreambox (Enigma2) den Standby Status abzufragen:

                                ! const request = require('request');
                                ! const parser = require('xml2js').parseString;
                                ! createState('javascript.0.Dreambox_OG_Standby_Status', false, {
                                ! read: true,
                                ! write: true,
                                ! desc: "DB500 Standby Status",
                                ! type: "object",
                                ! def: false
                                ! });
                                ! function getDB500Status(xml) {
                                ! parser(xml, function (err, result) {
                                ! if(err) log('Fehler XML-Parsen: ' + err, 'error');
                                ! else {
                                ! var stateDB;
                                ! stateDB = JSON.parse(result.e2powerstate.e2instandby);
                                ! setState('javascript.0.Dreambox_OG_Standby_Status', stateDB);
                                ! console.log(JSON.parse(result.e2powerstate.e2instandby));
                                ! }
                                ! });
                                ! }
                                ! function getXML() {
                                ! request('http://root:%2A%2A%2A%2A%2A%2A%2A%2A@192.168.178.220:88/web/powerstate', function (error, response, body) {
                                ! if (error) log("Fehler beim Herunterladen: " + error, 'error');
                                ! else getDB500Status(body);
                                ! });
                                ! }
                                ! schedule('* * * * *', getXML); // jede Minute

                                1 Antwort Letzte Antwort
                                0
                                • wendy2702W Offline
                                  wendy2702W Offline
                                  wendy2702
                                  schrieb am zuletzt editiert von
                                  #17

                                  Danke fürs teilen!

                                  Bitte keine Fragen per PN, die gehören ins Forum!

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

                                  1 Antwort Letzte Antwort
                                  0
                                  • paul53P Offline
                                    paul53P Offline
                                    paul53
                                    schrieb am zuletzt editiert von
                                    #18

                                    @LJSven:

                                    createState('javascript.0.Dreambox_OG_Standby_Status', false, {

                                    read: true,

                                    write: true,

                                    desc: "DB500 Standby Status",

                                    type: "object",

                                    def: false

                                    }); `
                                    Der Datenpunkt-Typ ist falsch !

                                    createState('javascript.0.Dreambox_OG_Standby_Status', false, {
                                       read: true,
                                       write: true,
                                       desc: "DB500 Standby Status",
                                       type: "boolean",
                                       def: false
                                    });
                                    

                                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                    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

                                    645

                                    Online

                                    32.4k

                                    Benutzer

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