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 - erste Gehversuche

NEWS

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

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

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

JavaScript - erste Gehversuche

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
49 Beiträge 8 Kommentatoren 1.9k Aufrufe 7 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.
  • L legro

    Da uns Blockly mittlerweile nicht mehr ausreicht, startet ich heute erste Gehversuche, mittels JavaScript unsere Möglichkeiten zu erweitern. Als erstes Ziel: Eine Eingabe realisieren. Hier mein erster Versuch ..

    let eingabe;
    alert("Bitte gib hier eine Zahl ein!")
    eingabe=prompt("Eingabe:", "0");
    return eingabe;
    

    28440e3c-fb83-45e0-8675-c8af98276ca1-image.png

    Offenbar stehen weder alert noch prompt zur Verfügung. Sie werden als undefined abgewiesen.

    Weiß jemand Rat, wie ich dennoch mein Vorhaben umsetzen kann?

    CodierknechtC Offline
    CodierknechtC Offline
    Codierknecht
    Developer Most Active
    schrieb am zuletzt editiert von Codierknecht
    #2

    @legro
    ioBroker ist ein Server - kein Programm mit UI - dafür gibt's entsprechende Adapter zur Visualisierung.
    Wer soll den eine Meldung lesen oder gar etwas eingeben?

    "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

    L 1 Antwort Letzte Antwort
    0
    • CodierknechtC Codierknecht

      @legro
      ioBroker ist ein Server - kein Programm mit UI - dafür gibt's entsprechende Adapter zur Visualisierung.
      Wer soll den eine Meldung lesen oder gar etwas eingeben?

      L Offline
      L Offline
      legro
      schrieb am zuletzt editiert von legro
      #3

      @codierknecht

      Was Blockly nicht ist bzw. nicht kann, möchte ich ja ändern. Nur weiß ich nicht wie. :confused:

      Fleißig habe ich mich über eine längere Zeit in Javascript eingearbeitet. Nun möchte ich über die oben erwähnten Blockly-Funktionen nach und nach all das ergänzen, was mir fehlt.

      Meine naive Vorstellung war nun, dass - von wem auch immer - die meisten Javascript-Befehle ausgeführt werden. Blockly dürfte ja sich ebenfalls dieser irgendwo eingebauten Software bedienen.

      Als erstes möchte ich eine Ein- und Ausgabe realisieren. Hierzu wollte ich halt die beiden Befehle alert und promt verwenden. Da dies nicht geht, meine Hilfeschreie.:blush:

      Nach über vier Jahren Leidenszeit unter Qivicon/MSH vor den Telekomikern zu ioBroker geflüchtet.
      Raspberry Pi 4 mit 8GB + ArgonOneM.2 + 120GB SSD + Coordinator CC26X2R1 + ioBroker + piVCCU3

      CodierknechtC 1 Antwort Letzte Antwort
      0
      • HomoranH Nicht stören
        HomoranH Nicht stören
        Homoran
        Global Moderator Administrators
        schrieb am zuletzt editiert von
        #4

        https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md

        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

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

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

        L HomoranH 2 Antworten Letzte Antwort
        0
        • L legro

          @codierknecht

          Was Blockly nicht ist bzw. nicht kann, möchte ich ja ändern. Nur weiß ich nicht wie. :confused:

          Fleißig habe ich mich über eine längere Zeit in Javascript eingearbeitet. Nun möchte ich über die oben erwähnten Blockly-Funktionen nach und nach all das ergänzen, was mir fehlt.

          Meine naive Vorstellung war nun, dass - von wem auch immer - die meisten Javascript-Befehle ausgeführt werden. Blockly dürfte ja sich ebenfalls dieser irgendwo eingebauten Software bedienen.

          Als erstes möchte ich eine Ein- und Ausgabe realisieren. Hierzu wollte ich halt die beiden Befehle alert und promt verwenden. Da dies nicht geht, meine Hilfeschreie.:blush:

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

          @legro
          Nochmal: Das hat mit Blockly oder JS zunächst einmal gar nicht zu tun.
          ioBroker ist dafür gebaut, 24/7 auf einem Server zu laufen und Dinge zu automatisieren.
          Sensoren und/oder Zustände werden ausgelesen, Aktoren werden gesteuert oder Werte irgendwohin geschrieben.

          Dort sitzt niemand vor einem Gerät und reagiert auf Meldungen oder gibt sogar irgendwelche Werte ein.
          Zur Ausgabe kannst Du zur Not noch das Log verwenden. Eingaben kannst Du über einen Datenpunkt regeln.
          Was Du an UI siehst ist die Oberfläche, mit der das System konfiguriert wird.
          Das System an sich kriegt gar nicht mit, dass da gerade jemand davor sitzt. Warum auch? Es ist nicht dafür gemacht.
          Stell es Dir am einfachsten als eine Art Betriebssystem vor - OHNE Bildschirm und Tastatur.

          Erklär doch mal, an welcher Stelle dir Blockly nicht reicht und was Du stattdessen mit JS machen willst.

          "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

          1 Antwort Letzte Antwort
          0
          • HomoranH Homoran

            https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md

            L Offline
            L Offline
            legro
            schrieb am zuletzt editiert von legro
            #6

            @homoran

            Danke für den Hinweis. Aber hier hatte ich selbst schon vergeblich nach einer Möglichkeit gesucht, eine Ein-/Ausgabe Funktion zu finden.

            Mir ist (als Anfänger) völlig unklar, welche Elemente wie, wo, wann, .. bereitstehen. Beispielsweise kann ich doch in Safari mich problemlos der Funktionen alert und prompt bedienen. Da Blockly ja im Browser läuft, dachte ich, dass diese Funktionen doch wohl zur Verfügung stehen müssten. Warum geht mein obiges Beispiel nicht?

            Nach über vier Jahren Leidenszeit unter Qivicon/MSH vor den Telekomikern zu ioBroker geflüchtet.
            Raspberry Pi 4 mit 8GB + ArgonOneM.2 + 120GB SSD + Coordinator CC26X2R1 + ioBroker + piVCCU3

            HomoranH CodierknechtC 2 Antworten Letzte Antwort
            0
            • L legro

              @homoran

              Danke für den Hinweis. Aber hier hatte ich selbst schon vergeblich nach einer Möglichkeit gesucht, eine Ein-/Ausgabe Funktion zu finden.

              Mir ist (als Anfänger) völlig unklar, welche Elemente wie, wo, wann, .. bereitstehen. Beispielsweise kann ich doch in Safari mich problemlos der Funktionen alert und prompt bedienen. Da Blockly ja im Browser läuft, dachte ich, dass diese Funktionen doch wohl zur Verfügung stehen müssten. Warum geht mein obiges Beispiel nicht?

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

              @legro sagte in JavaScript - erste Gehversuche:

              vergeblich nach einer Möglichkeit gesucht, eine Ein-/Ausgabe Funktion zu finden.

              wie dir jetzt schon mehrfach gesagt wurde ist eine Ein- Ausgabe auf dem ioBroker Server nicht vorgesehen und auch Unsinn.
              Die Ausgabe müsste auf dem Frontend erscheinen, doch der js Adapter läuft auf dem Server

              Da Blockly ja im Browser läuft,

              tut es eben nicht!

              kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

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

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

              CodierknechtC 1 Antwort Letzte Antwort
              0
              • L legro

                @homoran

                Danke für den Hinweis. Aber hier hatte ich selbst schon vergeblich nach einer Möglichkeit gesucht, eine Ein-/Ausgabe Funktion zu finden.

                Mir ist (als Anfänger) völlig unklar, welche Elemente wie, wo, wann, .. bereitstehen. Beispielsweise kann ich doch in Safari mich problemlos der Funktionen alert und prompt bedienen. Da Blockly ja im Browser läuft, dachte ich, dass diese Funktionen doch wohl zur Verfügung stehen müssten. Warum geht mein obiges Beispiel nicht?

                CodierknechtC Offline
                CodierknechtC Offline
                Codierknecht
                Developer Most Active
                schrieb am zuletzt editiert von
                #8

                @legro sagte in JavaScript - erste Gehversuche:

                Beispielsweise kann ich doch in Safari mich problemlos der Funktionen alert und prompt bedienen. Warum geht mein obiges Beispiel nicht?

                @Homoran hat den Link gepostet. Dort kannst Du nachlesen, welches JS-Funktionen Du nutzen kannst und welche nicht.
                alert und prompt sind nicht dabei - aus gutem Grund.
                Mit Safari interagierst Du - mit dem ioBroker nicht.
                Zumindest nicht direkt. Indirekt kannst Du eine Visualisierung wie z.B. VIS verwenden, um Werte einzugeben und Meldungen zu erhalten.

                Die Gretchenfrage: Was willst Du erreichen?

                "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

                L 1 Antwort Letzte Antwort
                0
                • HomoranH Homoran

                  @legro sagte in JavaScript - erste Gehversuche:

                  vergeblich nach einer Möglichkeit gesucht, eine Ein-/Ausgabe Funktion zu finden.

                  wie dir jetzt schon mehrfach gesagt wurde ist eine Ein- Ausgabe auf dem ioBroker Server nicht vorgesehen und auch Unsinn.
                  Die Ausgabe müsste auf dem Frontend erscheinen, doch der js Adapter läuft auf dem Server

                  Da Blockly ja im Browser läuft,

                  tut es eben nicht!

                  CodierknechtC Offline
                  CodierknechtC Offline
                  Codierknecht
                  Developer Most Active
                  schrieb am zuletzt editiert von
                  #9

                  @homoran sagte in JavaScript - erste Gehversuche:

                  Da Blockly ja im Browser läuft,

                  tut es eben nicht!

                  Das Frontend zur "Bedienung" von Blockly ist ein Browser-Frontend.
                  Was daraus generiert wird ist JavaScript ... zu Ausführung auf dem Server ... und nirgendwo sonst.

                  "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

                  HomoranH 1 Antwort Letzte Antwort
                  0
                  • CodierknechtC Codierknecht

                    @legro sagte in JavaScript - erste Gehversuche:

                    Beispielsweise kann ich doch in Safari mich problemlos der Funktionen alert und prompt bedienen. Warum geht mein obiges Beispiel nicht?

                    @Homoran hat den Link gepostet. Dort kannst Du nachlesen, welches JS-Funktionen Du nutzen kannst und welche nicht.
                    alert und prompt sind nicht dabei - aus gutem Grund.
                    Mit Safari interagierst Du - mit dem ioBroker nicht.
                    Zumindest nicht direkt. Indirekt kannst Du eine Visualisierung wie z.B. VIS verwenden, um Werte einzugeben und Meldungen zu erhalten.

                    Die Gretchenfrage: Was willst Du erreichen?

                    L Offline
                    L Offline
                    legro
                    schrieb am zuletzt editiert von
                    #10

                    @codierknecht said in JavaScript - erste Gehversuche:

                    Die Gretchenfrage: Was willst Du erreichen?

                    Hatte ich da nicht geschrieben? Ich möchte Werte ausgeben und einlesen können.

                    Nach über vier Jahren Leidenszeit unter Qivicon/MSH vor den Telekomikern zu ioBroker geflüchtet.
                    Raspberry Pi 4 mit 8GB + ArgonOneM.2 + 120GB SSD + Coordinator CC26X2R1 + ioBroker + piVCCU3

                    CodierknechtC HomoranH 2 Antworten Letzte Antwort
                    0
                    • L legro

                      @codierknecht said in JavaScript - erste Gehversuche:

                      Die Gretchenfrage: Was willst Du erreichen?

                      Hatte ich da nicht geschrieben? Ich möchte Werte ausgeben und einlesen können.

                      CodierknechtC Offline
                      CodierknechtC Offline
                      Codierknecht
                      Developer Most Active
                      schrieb am zuletzt editiert von
                      #11

                      @legro sagte in JavaScript - erste Gehversuche:

                      @codierknecht said in JavaScript - erste Gehversuche:

                      Die Gretchenfrage: Was willst Du erreichen?

                      Hatte ich da nicht geschrieben? Ich möchte Werte ausgeben und einlesen können.

                      Naja, das ist ein wenig unspezifisch.

                      Du willst also an einem Gerät (Tablet, PC, what auch ever) Werte sehen, diese (oder andere) Werte verändern und wieder an das System übergeben?

                      Wie gesagt: VIS

                      Beispiel:
                      Ich habe einen Datenpunkt mit dem ich festhalte, wann ich die SIM-Karte meiner EMA neu aufladen muss.
                      Anzeige und Eingabe zugleich.
                      8375e60c-3556-43d0-99cb-67b6eca67c40-image.png

                      "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

                      H 1 Antwort Letzte Antwort
                      0
                      • L legro

                        @codierknecht said in JavaScript - erste Gehversuche:

                        Die Gretchenfrage: Was willst Du erreichen?

                        Hatte ich da nicht geschrieben? Ich möchte Werte ausgeben und einlesen können.

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

                        @legro sagte in JavaScript - erste Gehversuche:

                        Ich möchte Werte ausgeben und einlesen können.

                        wo und wie?

                        genau!

                        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

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

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

                        1 Antwort Letzte Antwort
                        0
                        • CodierknechtC Codierknecht

                          @homoran sagte in JavaScript - erste Gehversuche:

                          Da Blockly ja im Browser läuft,

                          tut es eben nicht!

                          Das Frontend zur "Bedienung" von Blockly ist ein Browser-Frontend.
                          Was daraus generiert wird ist JavaScript ... zu Ausführung auf dem Server ... und nirgendwo sonst.

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

                          @codierknecht sagte in JavaScript - erste Gehversuche:

                          Das Frontend zur "Bedienung" von Blockly ist ein Browser-Frontend.

                          naja,
                          der javascript Adapter stellt über das Webinterface des admin den JS-Editor zur Verfügung.
                          dort sieht man dann auch die Logausgaben via console.log

                          Das kompilierte Script läuft ausschließlich auf dem Server

                          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

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

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

                          CodierknechtC 1 Antwort Letzte Antwort
                          0
                          • HomoranH Homoran

                            @codierknecht sagte in JavaScript - erste Gehversuche:

                            Das Frontend zur "Bedienung" von Blockly ist ein Browser-Frontend.

                            naja,
                            der javascript Adapter stellt über das Webinterface des admin den JS-Editor zur Verfügung.
                            dort sieht man dann auch die Logausgaben via console.log

                            Das kompilierte Script läuft ausschließlich auf dem Server

                            CodierknechtC Offline
                            CodierknechtC Offline
                            Codierknecht
                            Developer Most Active
                            schrieb am zuletzt editiert von Codierknecht
                            #14

                            @homoran sagte in JavaScript - erste Gehversuche:

                            Das kompilierte Script läuft ausschließlich auf dem Server

                            Vielleicht sollte man das an dieser Stelle nochmal ganz klar differenzieren:

                            Jeder moderne Browser ist in der Lage, JS auszuführen. Alles was man an Online-Tutorials so findet geht in der Regel in diese Richtung. Da kann man viel ausprobieren. Und weil man mit dem Browser auch praktischerweise gleich ein UI zur Verfügung hat, kann man auch Dinge wie alert, prompt und was auch immer verwenden.

                            Nun gibt's seit einigen Jahren auch Frameworks - vorrangig Node.js - mit denen JS auf dem Server ausgeführt wird. Und der ioBroker nutzt genau das ... server-side-JavaScript.
                            Und da er von Natur aus eben ein Server ist, der 24/7 unbeaufsichtigt läuft, verbietet sich halt alles was mit Benutzer-Interaktion zu tun hat.

                            @legro Stelle dir ein Programm vor, das beim Auftreten eines bestimmten Ereignisses den Benutzer per Dialog informiert und eine Aktion erwartet:

                            confirm('Es ist ein Fehler aufgetreten!')
                            

                            Laut Murphy passiert sowas entweder Nachts oder wenn Du im Urlaub bist.
                            Das Programm bliebe an exakt dieser Stelle stehen und wartet bis zum Sanktnimmerleinstag auf eine Antwort.

                            Was genau willst Du erfassen und wo/wie weiterverarbeiten?
                            Hast Du schon eine Visualisierung aufgesetzt?
                            Da könnte man Dir dann beim konkreten Einsatzzweck deutlich besser helfen.

                            "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

                            L HomoranH 2 Antworten Letzte Antwort
                            1
                            • CodierknechtC Codierknecht

                              @legro sagte in JavaScript - erste Gehversuche:

                              @codierknecht said in JavaScript - erste Gehversuche:

                              Die Gretchenfrage: Was willst Du erreichen?

                              Hatte ich da nicht geschrieben? Ich möchte Werte ausgeben und einlesen können.

                              Naja, das ist ein wenig unspezifisch.

                              Du willst also an einem Gerät (Tablet, PC, what auch ever) Werte sehen, diese (oder andere) Werte verändern und wieder an das System übergeben?

                              Wie gesagt: VIS

                              Beispiel:
                              Ich habe einen Datenpunkt mit dem ich festhalte, wann ich die SIM-Karte meiner EMA neu aufladen muss.
                              Anzeige und Eingabe zugleich.
                              8375e60c-3556-43d0-99cb-67b6eca67c40-image.png

                              H Offline
                              H Offline
                              homecineplexx
                              schrieb am zuletzt editiert von
                              #15

                              @codierknecht du kannst als aus und eingabe zB auch Telegram benutzen und dann deine Settings darüber steuern

                              1 Antwort Letzte Antwort
                              0
                              • CodierknechtC Codierknecht

                                @homoran sagte in JavaScript - erste Gehversuche:

                                Das kompilierte Script läuft ausschließlich auf dem Server

                                Vielleicht sollte man das an dieser Stelle nochmal ganz klar differenzieren:

                                Jeder moderne Browser ist in der Lage, JS auszuführen. Alles was man an Online-Tutorials so findet geht in der Regel in diese Richtung. Da kann man viel ausprobieren. Und weil man mit dem Browser auch praktischerweise gleich ein UI zur Verfügung hat, kann man auch Dinge wie alert, prompt und was auch immer verwenden.

                                Nun gibt's seit einigen Jahren auch Frameworks - vorrangig Node.js - mit denen JS auf dem Server ausgeführt wird. Und der ioBroker nutzt genau das ... server-side-JavaScript.
                                Und da er von Natur aus eben ein Server ist, der 24/7 unbeaufsichtigt läuft, verbietet sich halt alles was mit Benutzer-Interaktion zu tun hat.

                                @legro Stelle dir ein Programm vor, das beim Auftreten eines bestimmten Ereignisses den Benutzer per Dialog informiert und eine Aktion erwartet:

                                confirm('Es ist ein Fehler aufgetreten!')
                                

                                Laut Murphy passiert sowas entweder Nachts oder wenn Du im Urlaub bist.
                                Das Programm bliebe an exakt dieser Stelle stehen und wartet bis zum Sanktnimmerleinstag auf eine Antwort.

                                Was genau willst Du erfassen und wo/wie weiterverarbeiten?
                                Hast Du schon eine Visualisierung aufgesetzt?
                                Da könnte man Dir dann beim konkreten Einsatzzweck deutlich besser helfen.

                                L Offline
                                L Offline
                                legro
                                schrieb am zuletzt editiert von legro
                                #16

                                @codierknecht said in JavaScript - erste Gehversuche:

                                Was genau willst Du erfassen und wo/wie weiterverarbeiten?
                                Hast Du schon eine Visualisierung aufgesetzt?

                                Unsere Visualisierung ist schon recht weit fortgeschritten. In Auszügen kannst du hier dir ein Bild davon machen, was wir so alles bisher umgesetzt haben.

                                Und nun mein bescheidenes Vorhaben, zu dem ich hier Fragen stellte:

                                Ich möchte durch Klicken auf eine Schaltfläche (Widget) erreichen, dass ein Eingabefenster auf dem Bildschirm erscheint, in dem ich einen Wert eingeben kann. Diesen möchte ich in einen Datenpunkt speichern oder weiterverarbeiten.

                                Nach über vier Jahren Leidenszeit unter Qivicon/MSH vor den Telekomikern zu ioBroker geflüchtet.
                                Raspberry Pi 4 mit 8GB + ArgonOneM.2 + 120GB SSD + Coordinator CC26X2R1 + ioBroker + piVCCU3

                                CodierknechtC 1 Antwort Letzte Antwort
                                0
                                • L legro

                                  @codierknecht said in JavaScript - erste Gehversuche:

                                  Was genau willst Du erfassen und wo/wie weiterverarbeiten?
                                  Hast Du schon eine Visualisierung aufgesetzt?

                                  Unsere Visualisierung ist schon recht weit fortgeschritten. In Auszügen kannst du hier dir ein Bild davon machen, was wir so alles bisher umgesetzt haben.

                                  Und nun mein bescheidenes Vorhaben, zu dem ich hier Fragen stellte:

                                  Ich möchte durch Klicken auf eine Schaltfläche (Widget) erreichen, dass ein Eingabefenster auf dem Bildschirm erscheint, in dem ich einen Wert eingeben kann. Diesen möchte ich in einen Datenpunkt speichern oder weiterverarbeiten.

                                  CodierknechtC Offline
                                  CodierknechtC Offline
                                  Codierknecht
                                  Developer Most Active
                                  schrieb am zuletzt editiert von Codierknecht
                                  #17

                                  @legro
                                  Widget gehören dem Frontend. Das hat mit Blockly und Server-Side-JavaScript ja nix zu tun.
                                  Und mal unter uns: Du hast eine durchgestylte VIS und willst den Anwender doch nicht im Ernst mit so 'nem popeligen Eingabeprompt kommen ;-)
                                  Auch wenn das mit JS in der VIS durchaus möglich wäre.

                                  Da wäre sowas hier doch sicher eleganter:
                                  f37a303c-879f-437f-9f09-182050ad6646-image.png

                                  Du hast also eigentlich kein JS-Problem, sondern Fragen zur VIS.

                                  [EDIT]
                                  Funktioniert übrigens wunderbar. Text rein, OK klicken und schon steht das Eingegebene im DP.
                                  beb6f694-cebe-4ca3-b87b-23a12f11032d-image.png

                                  "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

                                  L 1 Antwort Letzte Antwort
                                  0
                                  • CodierknechtC Codierknecht

                                    @homoran sagte in JavaScript - erste Gehversuche:

                                    Das kompilierte Script läuft ausschließlich auf dem Server

                                    Vielleicht sollte man das an dieser Stelle nochmal ganz klar differenzieren:

                                    Jeder moderne Browser ist in der Lage, JS auszuführen. Alles was man an Online-Tutorials so findet geht in der Regel in diese Richtung. Da kann man viel ausprobieren. Und weil man mit dem Browser auch praktischerweise gleich ein UI zur Verfügung hat, kann man auch Dinge wie alert, prompt und was auch immer verwenden.

                                    Nun gibt's seit einigen Jahren auch Frameworks - vorrangig Node.js - mit denen JS auf dem Server ausgeführt wird. Und der ioBroker nutzt genau das ... server-side-JavaScript.
                                    Und da er von Natur aus eben ein Server ist, der 24/7 unbeaufsichtigt läuft, verbietet sich halt alles was mit Benutzer-Interaktion zu tun hat.

                                    @legro Stelle dir ein Programm vor, das beim Auftreten eines bestimmten Ereignisses den Benutzer per Dialog informiert und eine Aktion erwartet:

                                    confirm('Es ist ein Fehler aufgetreten!')
                                    

                                    Laut Murphy passiert sowas entweder Nachts oder wenn Du im Urlaub bist.
                                    Das Programm bliebe an exakt dieser Stelle stehen und wartet bis zum Sanktnimmerleinstag auf eine Antwort.

                                    Was genau willst Du erfassen und wo/wie weiterverarbeiten?
                                    Hast Du schon eine Visualisierung aufgesetzt?
                                    Da könnte man Dir dann beim konkreten Einsatzzweck deutlich besser helfen.

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

                                    @codierknecht sagte in JavaScript - erste Gehversuche:

                                    Jeder moderne Browser ist in der Lage, JS auszuführen. Alles was man an Online-Tutorials so findet geht in der Regel in diese Richtung. Da kann man viel ausprobieren. Und weil man mit dem Browser auch praktischerweise gleich ein UI zur Verfügung hat, kann man auch Dinge wie alert, prompt und was auch immer verwenden.

                                    genau!
                                    Das ist der Knackpunkt! Dann ist js Bestandteil der HTML Seite

                                    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

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

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

                                    1 Antwort Letzte Antwort
                                    0
                                    • CodierknechtC Codierknecht

                                      @legro
                                      Widget gehören dem Frontend. Das hat mit Blockly und Server-Side-JavaScript ja nix zu tun.
                                      Und mal unter uns: Du hast eine durchgestylte VIS und willst den Anwender doch nicht im Ernst mit so 'nem popeligen Eingabeprompt kommen ;-)
                                      Auch wenn das mit JS in der VIS durchaus möglich wäre.

                                      Da wäre sowas hier doch sicher eleganter:
                                      f37a303c-879f-437f-9f09-182050ad6646-image.png

                                      Du hast also eigentlich kein JS-Problem, sondern Fragen zur VIS.

                                      [EDIT]
                                      Funktioniert übrigens wunderbar. Text rein, OK klicken und schon steht das Eingegebene im DP.
                                      beb6f694-cebe-4ca3-b87b-23a12f11032d-image.png

                                      L Offline
                                      L Offline
                                      legro
                                      schrieb am zuletzt editiert von legro
                                      #19

                                      @codierknecht said in JavaScript - erste Gehversuche:

                                      .. Du hast eine durchgestylte VIS und willst den Anwender doch nicht im Ernst mit so 'nem popeligen Eingabeprompt kommen ;-)

                                      Meine offenbar falsche Vorstellung bzw. Einschätzung war, dass ich in Blockly nahezu beliebigen Java-Code einpflegen könnte. Das gewählte Beispiel war sozusagen mein „Hello World“ Programm.:grin:

                                      Nach über vier Jahren Leidenszeit unter Qivicon/MSH vor den Telekomikern zu ioBroker geflüchtet.
                                      Raspberry Pi 4 mit 8GB + ArgonOneM.2 + 120GB SSD + Coordinator CC26X2R1 + ioBroker + piVCCU3

                                      ArmilarA liv-in-skyL 2 Antworten Letzte Antwort
                                      0
                                      • L legro

                                        @codierknecht said in JavaScript - erste Gehversuche:

                                        .. Du hast eine durchgestylte VIS und willst den Anwender doch nicht im Ernst mit so 'nem popeligen Eingabeprompt kommen ;-)

                                        Meine offenbar falsche Vorstellung bzw. Einschätzung war, dass ich in Blockly nahezu beliebigen Java-Code einpflegen könnte. Das gewählte Beispiel war sozusagen mein „Hello World“ Programm.:grin:

                                        ArmilarA Offline
                                        ArmilarA Offline
                                        Armilar
                                        Most Active Forum Testing
                                        schrieb am zuletzt editiert von
                                        #20

                                        @legro sagte in JavaScript - erste Gehversuche:

                                        Meine offenbar falsche Vorstellung bzw. Einschätzung war, dass ich in Blockly nahezu beliebigen Java-Code einpflegen könnte

                                        Warum sollte das denn nicht gehen (vorausgesetzt du meinst JS)?

                                        Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                                        https://github.com/joBr99/nspanel-lovelace-ui/wiki

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

                                        CodierknechtC 1 Antwort Letzte Antwort
                                        0
                                        • ArmilarA Armilar

                                          @legro sagte in JavaScript - erste Gehversuche:

                                          Meine offenbar falsche Vorstellung bzw. Einschätzung war, dass ich in Blockly nahezu beliebigen Java-Code einpflegen könnte

                                          Warum sollte das denn nicht gehen (vorausgesetzt du meinst JS)?

                                          CodierknechtC Offline
                                          CodierknechtC Offline
                                          Codierknecht
                                          Developer Most Active
                                          schrieb am zuletzt editiert von
                                          #21

                                          @armilar sagte in JavaScript - erste Gehversuche:

                                          Warum sollte das denn nicht gehen (vorausgesetzt du meinst JS)?

                                          Weil im Blockly und damit in Server-Side-JavaScript Dinge wie alert usw. nicht funktionieren.

                                          @legro Du kannst - wenn nötig - in der VIS JavaScript hinterlegen:
                                          05605e4e-680a-40fa-93fa-c64804534d04-image.png
                                          Braucht man aber eigentlich recht selten, weil es für fast alles das passende Widget gibt.

                                          "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

                                          ArmilarA L 2 Antworten Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          737

                                          Online

                                          32.5k

                                          Benutzer

                                          81.6k

                                          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