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. Function Syntax Fehler

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Function Syntax Fehler

Geplant Angeheftet Gesperrt Verschoben JavaScript
8 Beiträge 4 Kommentatoren 251 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.
  • A Offline
    A Offline
    Aionly
    schrieb am zuletzt editiert von
    #1

    Hi Leute,
    ich habe bisher sehr wenig mit dem Javascript Adapter gearbeitet, habe nun allerdings einen Fall wo ich ihn benötige.
    Ich habe folgendes Script geschrieben, das auf Änderungen eines Datenpunktes reagieren soll und den ausgelesenen Wert nutzt, um entweder den einen - oder den anderen Button via Puppeteer zu klicken.

    Leider hab ich direkt bei folgendem Code schon einen Syntax Error:

    function() {
    }
    

    Hier der vollständige Code:

    const puppeteer = require('puppeteer');
    var object = '0_userdata.0.EigeneDatenpunkte.Ladeschalter';
    const host = '192.168.178.60';
    var menu = '';
    var button = '';
    var url = '/';
    
    on({id: object, change: 'ne'}, function()
    {
      console.log('Starting Browser...');
      console.log('URL: ');
      console.log(host+url);
      console.log('Menu element: ');
      console.log(menu);
      button= String(getState(object).val);
      console.log('Button element: ');
      console.log(button);
      (async () => {
        const browser = await puppeteer.launch({args:['--no-sandbox'],executablePath: '/usr/bin/chromium-browser'});
        const page = await browser.newPage();
        await page.goto(host+url);
        await page.waitForNavigation();
        await page.click('[name=menu]');
        await page.waitForNavigation();
        await page.click('[name=button]');
        await page.waitForNavigation();
        console.log('OK...closing Browser');
        await browser.close();
      })();  
    }
    

    Kann mir jemand sagen, wo ich hier auf dem Schlauch stehe?
    Vielen Dank schon mal!

    Aionly

    T CodierknechtC 2 Antworten Letzte Antwort
    0
    • A Aionly

      Hi Leute,
      ich habe bisher sehr wenig mit dem Javascript Adapter gearbeitet, habe nun allerdings einen Fall wo ich ihn benötige.
      Ich habe folgendes Script geschrieben, das auf Änderungen eines Datenpunktes reagieren soll und den ausgelesenen Wert nutzt, um entweder den einen - oder den anderen Button via Puppeteer zu klicken.

      Leider hab ich direkt bei folgendem Code schon einen Syntax Error:

      function() {
      }
      

      Hier der vollständige Code:

      const puppeteer = require('puppeteer');
      var object = '0_userdata.0.EigeneDatenpunkte.Ladeschalter';
      const host = '192.168.178.60';
      var menu = '';
      var button = '';
      var url = '/';
      
      on({id: object, change: 'ne'}, function()
      {
        console.log('Starting Browser...');
        console.log('URL: ');
        console.log(host+url);
        console.log('Menu element: ');
        console.log(menu);
        button= String(getState(object).val);
        console.log('Button element: ');
        console.log(button);
        (async () => {
          const browser = await puppeteer.launch({args:['--no-sandbox'],executablePath: '/usr/bin/chromium-browser'});
          const page = await browser.newPage();
          await page.goto(host+url);
          await page.waitForNavigation();
          await page.click('[name=menu]');
          await page.waitForNavigation();
          await page.click('[name=button]');
          await page.waitForNavigation();
          console.log('OK...closing Browser');
          await browser.close();
        })();  
      }
      

      Kann mir jemand sagen, wo ich hier auf dem Schlauch stehe?
      Vielen Dank schon mal!

      Aionly

      T Offline
      T Offline
      ticaki
      schrieb am zuletzt editiert von ticaki
      #2

      Das hier ist dichter am funktionieren:

      kopiere aber die eingangsvariablen noch drüber.

      on({ id: object,change: 'ne' },async function() {
          log('Starting Browser...');
          log('URL: ');
          log(host+url);
          log('Menu element: ');
          log(menu);
          button=String(getState(object).val);
          log('Button element: ');
          log(button);
      
          const browser = await puppeteer.launch({ args: ['--no-sandbox'],executablePath: '/usr/bin/chromium-browser' });
          const page = await browser.newPage();
          await page.goto(host+url);
          await page.waitForNavigation();
          await page.click('[name=menu]');
          await page.waitForNavigation();
          await page.click('[name=button]');
          await page.waitForNavigation();
          log('OK...closing Browser');
          await browser.close();
      });
      

      Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

      Spenden

      1 Antwort Letzte Antwort
      0
      • A Aionly

        Hi Leute,
        ich habe bisher sehr wenig mit dem Javascript Adapter gearbeitet, habe nun allerdings einen Fall wo ich ihn benötige.
        Ich habe folgendes Script geschrieben, das auf Änderungen eines Datenpunktes reagieren soll und den ausgelesenen Wert nutzt, um entweder den einen - oder den anderen Button via Puppeteer zu klicken.

        Leider hab ich direkt bei folgendem Code schon einen Syntax Error:

        function() {
        }
        

        Hier der vollständige Code:

        const puppeteer = require('puppeteer');
        var object = '0_userdata.0.EigeneDatenpunkte.Ladeschalter';
        const host = '192.168.178.60';
        var menu = '';
        var button = '';
        var url = '/';
        
        on({id: object, change: 'ne'}, function()
        {
          console.log('Starting Browser...');
          console.log('URL: ');
          console.log(host+url);
          console.log('Menu element: ');
          console.log(menu);
          button= String(getState(object).val);
          console.log('Button element: ');
          console.log(button);
          (async () => {
            const browser = await puppeteer.launch({args:['--no-sandbox'],executablePath: '/usr/bin/chromium-browser'});
            const page = await browser.newPage();
            await page.goto(host+url);
            await page.waitForNavigation();
            await page.click('[name=menu]');
            await page.waitForNavigation();
            await page.click('[name=button]');
            await page.waitForNavigation();
            console.log('OK...closing Browser');
            await browser.close();
          })();  
        }
        

        Kann mir jemand sagen, wo ich hier auf dem Schlauch stehe?
        Vielen Dank schon mal!

        Aionly

        CodierknechtC Online
        CodierknechtC Online
        Codierknecht
        Developer Most Active
        schrieb am zuletzt editiert von
        #3

        @aionly
        Versuch's mal damit (ungetestet)

        on({ id: object, change: 'ne' }, async (obj) => {
            button = obj.val;
            console.log('Starting Browser...');
            console.log('URL: ');
            console.log(host+url);
            console.log('Menu element: ');
            console.log(menu);
            console.log('Button element: ');
            console.log(button);
            const browser = await puppeteer.launch({args:['--no-sandbox'],executablePath: '/usr/bin/chromium-browser'});
            const page = await browser.newPage();
            await page.goto(host+url);
            await page.waitForNavigation();
            await page.click('[name=menu]');
            await page.waitForNavigation();
            await page.click('[name=button]');
            await page.waitForNavigation();
            console.log('OK...closing Browser');
            await browser.close();
        });
        

        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

        Proxmox 9.1.1 LXC|8 GB|Core i7-6700
        HmIP|ZigBee|Tasmota|Unifi
        Zabbix Certified Specialist
        Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

        T 1 Antwort Letzte Antwort
        0
        • CodierknechtC Codierknecht

          @aionly
          Versuch's mal damit (ungetestet)

          on({ id: object, change: 'ne' }, async (obj) => {
              button = obj.val;
              console.log('Starting Browser...');
              console.log('URL: ');
              console.log(host+url);
              console.log('Menu element: ');
              console.log(menu);
              console.log('Button element: ');
              console.log(button);
              const browser = await puppeteer.launch({args:['--no-sandbox'],executablePath: '/usr/bin/chromium-browser'});
              const page = await browser.newPage();
              await page.goto(host+url);
              await page.waitForNavigation();
              await page.click('[name=menu]');
              await page.waitForNavigation();
              await page.click('[name=button]');
              await page.waitForNavigation();
              console.log('OK...closing Browser');
              await browser.close();
          });
          
          T Offline
          T Offline
          ticaki
          schrieb am zuletzt editiert von
          #4

          @codierknecht
          oh hab ich übersehen, ist object nicht ein reserviertes Wort das man nicht für Variablen nutzen kann?

          Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

          Spenden

          CodierknechtC 1 Antwort Letzte Antwort
          0
          • T ticaki

            @codierknecht
            oh hab ich übersehen, ist object nicht ein reserviertes Wort das man nicht für Variablen nutzen kann?

            CodierknechtC Online
            CodierknechtC Online
            Codierknecht
            Developer Most Active
            schrieb am zuletzt editiert von
            #5

            @ticaki sagte in Function Syntax Fehler:

            @codierknecht
            oh hab ich übersehen, ist object nicht ein reserviertes Wort das man nicht für Variablen nutzen kann?

            Kann gut sein. Sollte man natürlich unbedingt vermeiden und z.B. objectId verwenden.

            "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

            Proxmox 9.1.1 LXC|8 GB|Core i7-6700
            HmIP|ZigBee|Tasmota|Unifi
            Zabbix Certified Specialist
            Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

            T 1 Antwort Letzte Antwort
            0
            • CodierknechtC Codierknecht

              @ticaki sagte in Function Syntax Fehler:

              @codierknecht
              oh hab ich übersehen, ist object nicht ein reserviertes Wort das man nicht für Variablen nutzen kann?

              Kann gut sein. Sollte man natürlich unbedingt vermeiden und z.B. objectId verwenden.

              T Offline
              T Offline
              ticaki
              schrieb am zuletzt editiert von
              #6

              @codierknecht

              Nur der vollständigkeithalber object ist kein reserviertes Wort, aber wie du sagst besser nicht verwenden.

              https://www.w3schools.com/js/js_reserved.asp

              Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

              Spenden

              OliverIOO 1 Antwort Letzte Antwort
              0
              • T ticaki

                @codierknecht

                Nur der vollständigkeithalber object ist kein reserviertes Wort, aber wie du sagst besser nicht verwenden.

                https://www.w3schools.com/js/js_reserved.asp

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

                @ticaki sagte in Function Syntax Fehler:

                object ist kein reserviertes Wort

                ja, ist es nicht.
                man könnte object sogar etwas zuweisen
                wenn man allerdings das mit einem große O schreibt wirds lustig.
                dann bleibt von javascript nicht mehr viel übrig
                und beim 3. explodiert dann javascript wahrscheinlich (hab mich nicht getraut das auszuprobieren) :)

                let object = 123;
                let Object = 123;
                Object.prototype.constructor = 123;
                
                

                daher alle Bezeichner, die nach den eingebauten typenbezeichnungen aussehen, lieber nicht verwenden.

                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
                • A Offline
                  A Offline
                  Aionly
                  schrieb am zuletzt editiert von
                  #8

                  Vielen Dank für eure Unterstützung, jetzt läuft es !

                  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

                  678

                  Online

                  32.6k

                  Benutzer

                  82.2k

                  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