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. Einsteigerfragen
  4. Javascript und Vis

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    23
    1
    1.3k

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

Javascript und Vis

Geplant Angeheftet Gesperrt Verschoben Einsteigerfragen
13 Beiträge 6 Kommentatoren 1.1k Aufrufe 5 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 jones1975

    Hallo,
    ich baue grade meine eigene Wetter Vis mit Daten von DasWetter. Habe auch alles soweit hinbekommen, stehe nun aber vor dem großen Problem mit dem Datum von morgen, übermorgen usw.

    In DasWetter wird das Datum als String angezeigt. Also heute = 21042023 Morgen =220423

    Da dieses Format sehr unschön ist ich gerne einen Punkt zwischen den einzelnen Werte hätte komme ich da nicht weiter.

    Meine Idee ist nun ein eigenes kleines JAvascript zu schreiben und z.b. Das Datum von Morgen auszugeben.

    Dazu habe ich das scriptunter Scripte ein javascript geschrieben mit dem Titel actual Dates. Das sieht grade so aus:

    var heute = new Date();
    heute = new Date(heute.getFullYear(),heute.getMonth(),heute.getDate(),0,0,0)
    var morgen = new Date(heute);
    morgen.setDate(morgen.getDate()+1);
    console.log(morgen);
    

    wenn ich nun in die Vis gehen und string text nehme und als ObjectID mein javascript bekomme ich nur true angzeigt.

    Hat jemand eine Idee wie ich das Datum von morgen, übermorgen in meine Vis einbetten kann?

    Danke für eure Hilfe

    bahnuhrB Offline
    bahnuhrB Offline
    bahnuhr
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #2

    @jones1975

    var date = new Date();
    date.setDate(date.getDate() + 1);
    var Tag = date.getDate();     // System Tag
    var Monat = date.getMonth()+1;    // System Monat
    var Jahr = date.getFullYear();        // System Jahr
    
    log (Tag + "." + Monat + "." + Jahr);
    

    Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
    Danke.
    gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
    ScreenToGif :https://www.screentogif.com/downloads.html

    J 1 Antwort Letzte Antwort
    0
    • bahnuhrB bahnuhr

      @jones1975

      var date = new Date();
      date.setDate(date.getDate() + 1);
      var Tag = date.getDate();     // System Tag
      var Monat = date.getMonth()+1;    // System Monat
      var Jahr = date.getFullYear();        // System Jahr
      
      log (Tag + "." + Monat + "." + Jahr);
      
      J Offline
      J Offline
      jones1975
      schrieb am zuletzt editiert von
      #3

      @bahnuhr
      Danke für das Script, allerdings löst es nicht mein Problem, in der VIS selber. Es wird mir immer nur true angezeigt.

      Wie kann ich in der VIS ein Script einbinden, dass nicht true zeigt?

      B OliverIOO 2 Antworten Letzte Antwort
      0
      • J jones1975

        @bahnuhr
        Danke für das Script, allerdings löst es nicht mein Problem, in der VIS selber. Es wird mir immer nur true angezeigt.

        Wie kann ich in der VIS ein Script einbinden, dass nicht true zeigt?

        B Offline
        B Offline
        badsnoopy667
        schrieb am zuletzt editiert von
        #4

        @jones1975
        Wie man das Javascript direkt in VIS einbettet kann ich Dir nicht sagen. Aber Du kannst den Wochentag doch einfach in einen Datenpunkt schreiben lassen von dem Skript. Und diesen Datenpunkt lässt Du dann in VIS anzeigen.
        So mache ich das jedenfalls immer.

        1 Antwort Letzte Antwort
        0
        • J jones1975

          Hallo,
          ich baue grade meine eigene Wetter Vis mit Daten von DasWetter. Habe auch alles soweit hinbekommen, stehe nun aber vor dem großen Problem mit dem Datum von morgen, übermorgen usw.

          In DasWetter wird das Datum als String angezeigt. Also heute = 21042023 Morgen =220423

          Da dieses Format sehr unschön ist ich gerne einen Punkt zwischen den einzelnen Werte hätte komme ich da nicht weiter.

          Meine Idee ist nun ein eigenes kleines JAvascript zu schreiben und z.b. Das Datum von Morgen auszugeben.

          Dazu habe ich das scriptunter Scripte ein javascript geschrieben mit dem Titel actual Dates. Das sieht grade so aus:

          var heute = new Date();
          heute = new Date(heute.getFullYear(),heute.getMonth(),heute.getDate(),0,0,0)
          var morgen = new Date(heute);
          morgen.setDate(morgen.getDate()+1);
          console.log(morgen);
          

          wenn ich nun in die Vis gehen und string text nehme und als ObjectID mein javascript bekomme ich nur true angzeigt.

          Hat jemand eine Idee wie ich das Datum von morgen, übermorgen in meine Vis einbetten kann?

          Danke für eure Hilfe

          liv-in-skyL Offline
          liv-in-skyL Offline
          liv-in-sky
          schrieb am zuletzt editiert von
          #5

          @jones1975 #

          var heute = new Date();
          heute = new Date(heute.getFullYear(),heute.getMonth(),heute.getDate(),0,0,0)
          var morgen = new Date(heute);
          morgen.setDate(morgen.getDate()+1);
          console.log(morgen);
          setState("0_userdata.0.CONTROL-OWN.AAATEST.TestString7",morgen.toString())
          

          vis mit string -widget:

          Image 073.png

          nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

          1 Antwort Letzte Antwort
          0
          • J jones1975

            @bahnuhr
            Danke für das Script, allerdings löst es nicht mein Problem, in der VIS selber. Es wird mir immer nur true angezeigt.

            Wie kann ich in der VIS ein Script einbinden, dass nicht true zeigt?

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

            @jones1975 sagte in Javascript und Vis:

            @bahnuhr
            Danke für das Script, allerdings löst es nicht mein Problem, in der VIS selber. Es wird mir immer nur true angezeigt.

            Wie kann ich in der VIS ein Script einbinden, dass nicht true zeigt?

            mit welchem skript wird dir wo true angezeigt?
            wo hast du das skript eingetragen (im javascript reiter in vis)?

            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 jones1975

              Hallo,
              ich baue grade meine eigene Wetter Vis mit Daten von DasWetter. Habe auch alles soweit hinbekommen, stehe nun aber vor dem großen Problem mit dem Datum von morgen, übermorgen usw.

              In DasWetter wird das Datum als String angezeigt. Also heute = 21042023 Morgen =220423

              Da dieses Format sehr unschön ist ich gerne einen Punkt zwischen den einzelnen Werte hätte komme ich da nicht weiter.

              Meine Idee ist nun ein eigenes kleines JAvascript zu schreiben und z.b. Das Datum von Morgen auszugeben.

              Dazu habe ich das scriptunter Scripte ein javascript geschrieben mit dem Titel actual Dates. Das sieht grade so aus:

              var heute = new Date();
              heute = new Date(heute.getFullYear(),heute.getMonth(),heute.getDate(),0,0,0)
              var morgen = new Date(heute);
              morgen.setDate(morgen.getDate()+1);
              console.log(morgen);
              

              wenn ich nun in die Vis gehen und string text nehme und als ObjectID mein javascript bekomme ich nur true angzeigt.

              Hat jemand eine Idee wie ich das Datum von morgen, übermorgen in meine Vis einbetten kann?

              Danke für eure Hilfe

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von paul53
              #7

              @jones1975 sagte: gerne einen Punkt zwischen den einzelnen Werte

              Füge die Punkte ein. Prinzip:

              date = date.slice(0, 2) + '.' + date.slice(2, 4) + '.' + date.slice(4);
              

              Vom Vis-Binding habe ich keine Ahnung.

              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

              J 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @jones1975 sagte: gerne einen Punkt zwischen den einzelnen Werte

                Füge die Punkte ein. Prinzip:

                date = date.slice(0, 2) + '.' + date.slice(2, 4) + '.' + date.slice(4);
                

                Vom Vis-Binding habe ich keine Ahnung.

                J Offline
                J Offline
                jones1975
                schrieb am zuletzt editiert von
                #8

                @paul53: Danke das werde ich probieren

                Datenpunkt anlegen....
                Also ich habe einen Datenpunkt unter 0_userdata angelegt und mit dem Namen Date versehen
                als Objektdaten sehe ich nun

                {
                  "common": {
                    "name": "Date",
                    "desc": "Manuell erzeugt",
                    "role": "date",
                    "type": "object",
                    "read": true,
                    "write": true
                  },
                  "type": "state",
                  "native": {},
                  "_id": "0_userdata.0.Date.Date",
                  "from": "system.adapter.admin.0",
                  "user": "system.user.admin",
                  "ts": 1682060316223
                }
                

                Aber wie binde ich jetzt da mein javascript ein?

                liv-in-skyL 1 Antwort Letzte Antwort
                0
                • J jones1975

                  @paul53: Danke das werde ich probieren

                  Datenpunkt anlegen....
                  Also ich habe einen Datenpunkt unter 0_userdata angelegt und mit dem Namen Date versehen
                  als Objektdaten sehe ich nun

                  {
                    "common": {
                      "name": "Date",
                      "desc": "Manuell erzeugt",
                      "role": "date",
                      "type": "object",
                      "read": true,
                      "write": true
                    },
                    "type": "state",
                    "native": {},
                    "_id": "0_userdata.0.Date.Date",
                    "from": "system.adapter.admin.0",
                    "user": "system.user.admin",
                    "ts": 1682060316223
                  }
                  

                  Aber wie binde ich jetzt da mein javascript ein?

                  liv-in-skyL Offline
                  liv-in-skyL Offline
                  liv-in-sky
                  schrieb am zuletzt editiert von liv-in-sky
                  #9

                  @jones1975 mir ist immer noch nicht klar, was du wo einbinden willst

                  • ein javascript im vis-editor, das auf datenpunkte zugreift (läuft letztlich als script im browser)
                  • oder ein javascript im javascript-adapter (läuft auf dem iob-server)

                  nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                  J 1 Antwort Letzte Antwort
                  0
                  • liv-in-skyL liv-in-sky

                    @jones1975 mir ist immer noch nicht klar, was du wo einbinden willst

                    • ein javascript im vis-editor, das auf datenpunkte zugreift (läuft letztlich als script im browser)
                    • oder ein javascript im javascript-adapter (läuft auf dem iob-server)
                    J Offline
                    J Offline
                    jones1975
                    schrieb am zuletzt editiert von jones1975
                    #10

                    @liv-in-sky ok da gibt es anscheinend auch unterschiede.... ich kann Programmieren (ok ein wenig :) ) aber mir sind die ganzen Verbindungen die ich selber anlegen möchte noch total schleierhaft..

                    Als Ziel: In einer Visualisierung das Datum von Morgen anzeigen lassen.

                    Folgende Möglichkeiten:

                    1. in dem Adapter das Wetter gibt es als Object day_value. Dieses wird als String ohne Punkte angezeigt. Beispiel: 20230426
                      Dieses Value möchte ich gerne im folgenden Format in meiner VIS angezeigt bekommen 26.04.2023

                    2. Mithilfe eines Javascripts.
                      Dazu habe ich ein Javascript erstellt, bzw nehme das von Bahnuhr weiter oben. Log zeigt das richtige Ergebnis.
                      Datenpunkt erstellt, aber weiß nicht wie ich nun den Datenpunkt mit dem Javascript verknüpfe.

                    Ich google seit Tagen und es gibt zig Anleitungen wie erstelle ich einen Datenpunkt, wie baue ich ein javascript aber ich habe noch keine Anleitung gefunden die einem Anfänger zeigt, wie ein Datenpunkt mit einem Javascript verknüpft wird.
                    Das kann doch nicht so schwer sein, aber vermutlich stelle ich mich einfach nur total .... an :D

                    bahnuhrB liv-in-skyL 2 Antworten Letzte Antwort
                    0
                    • J jones1975

                      @liv-in-sky ok da gibt es anscheinend auch unterschiede.... ich kann Programmieren (ok ein wenig :) ) aber mir sind die ganzen Verbindungen die ich selber anlegen möchte noch total schleierhaft..

                      Als Ziel: In einer Visualisierung das Datum von Morgen anzeigen lassen.

                      Folgende Möglichkeiten:

                      1. in dem Adapter das Wetter gibt es als Object day_value. Dieses wird als String ohne Punkte angezeigt. Beispiel: 20230426
                        Dieses Value möchte ich gerne im folgenden Format in meiner VIS angezeigt bekommen 26.04.2023

                      2. Mithilfe eines Javascripts.
                        Dazu habe ich ein Javascript erstellt, bzw nehme das von Bahnuhr weiter oben. Log zeigt das richtige Ergebnis.
                        Datenpunkt erstellt, aber weiß nicht wie ich nun den Datenpunkt mit dem Javascript verknüpfe.

                      Ich google seit Tagen und es gibt zig Anleitungen wie erstelle ich einen Datenpunkt, wie baue ich ein javascript aber ich habe noch keine Anleitung gefunden die einem Anfänger zeigt, wie ein Datenpunkt mit einem Javascript verknüpft wird.
                      Das kann doch nicht so schwer sein, aber vermutlich stelle ich mich einfach nur total .... an :D

                      bahnuhrB Offline
                      bahnuhrB Offline
                      bahnuhr
                      Forum Testing Most Active
                      schrieb am zuletzt editiert von
                      #11

                      @jones1975 sagte in Javascript und Vis:

                      Dazu habe ich ein Javascript erstellt, bzw nehme das von Bahnuhr weiter oben. Log zeigt das richtige Ergebnis.
                      Datenpunkt erstellt, aber weiß nicht wie ich nun den Datenpunkt mit dem Javascript verknüpfe.

                      1. erstelle einen manuellen DP unter javascript oder unter userdata
                      2. In dem Script ein setState hinzufügen, dass dann den Wert in diesen DP schreibt
                      3. Im Vis Editor dann ein Widget (String) nehmen und dieses positionieren.
                      4. im Widget als DP deinen selbst erstellten auswählen.
                      5. Im runtime wird dann das widget korrekt angezeigt.

                      Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                      Danke.
                      gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                      ScreenToGif :https://www.screentogif.com/downloads.html

                      1 Antwort Letzte Antwort
                      0
                      • J jones1975

                        @liv-in-sky ok da gibt es anscheinend auch unterschiede.... ich kann Programmieren (ok ein wenig :) ) aber mir sind die ganzen Verbindungen die ich selber anlegen möchte noch total schleierhaft..

                        Als Ziel: In einer Visualisierung das Datum von Morgen anzeigen lassen.

                        Folgende Möglichkeiten:

                        1. in dem Adapter das Wetter gibt es als Object day_value. Dieses wird als String ohne Punkte angezeigt. Beispiel: 20230426
                          Dieses Value möchte ich gerne im folgenden Format in meiner VIS angezeigt bekommen 26.04.2023

                        2. Mithilfe eines Javascripts.
                          Dazu habe ich ein Javascript erstellt, bzw nehme das von Bahnuhr weiter oben. Log zeigt das richtige Ergebnis.
                          Datenpunkt erstellt, aber weiß nicht wie ich nun den Datenpunkt mit dem Javascript verknüpfe.

                        Ich google seit Tagen und es gibt zig Anleitungen wie erstelle ich einen Datenpunkt, wie baue ich ein javascript aber ich habe noch keine Anleitung gefunden die einem Anfänger zeigt, wie ein Datenpunkt mit einem Javascript verknüpft wird.
                        Das kann doch nicht so schwer sein, aber vermutlich stelle ich mich einfach nur total .... an :D

                        liv-in-skyL Offline
                        liv-in-skyL Offline
                        liv-in-sky
                        schrieb am zuletzt editiert von liv-in-sky
                        #12

                        @jones1975

                        da gibt es einige möglichkeiten

                        du machst ein script - im js-adapter - so wie mein beispiel - und schreibst das ganze in einen dp

                        • dann ein string-widget im vis editor und die object-id deines dp angeben
                        • oder ein html widget und über ein sog. binding

                        oder etwas umständlich
                        du machst das script im vis-editor (welches in einem html widget ist) und schreibst das ergebnis gleich in den html code - würde man aber bei diesem beispiel nicht machen)

                        script im adapter - fehlt noch der trigger einmalig am anfang des tages

                        var heute = new Date();
                        heute = new Date(heute.getFullYear(),heute.getMonth(),heute.getDate(),0,0,0)
                        var morgen = new Date(heute);
                        morgen.setDate(morgen.getDate()+1);
                        console.log(formatDate(getDateObject(morgen), "DD.MM.YYYY"));
                        setState("0_userdata.0.CONTROL-OWN.AAATEST.TestString7",formatDate(getDateObject(morgen), "DD.MM.YYYY").toString())
                        

                        widgets:
                        string:

                        Image 074.png

                        html-widget mit binding
                        Image 075.png

                        Image 077.png

                        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                        1 Antwort Letzte Antwort
                        0
                        • J jones1975

                          Hallo,
                          ich baue grade meine eigene Wetter Vis mit Daten von DasWetter. Habe auch alles soweit hinbekommen, stehe nun aber vor dem großen Problem mit dem Datum von morgen, übermorgen usw.

                          In DasWetter wird das Datum als String angezeigt. Also heute = 21042023 Morgen =220423

                          Da dieses Format sehr unschön ist ich gerne einen Punkt zwischen den einzelnen Werte hätte komme ich da nicht weiter.

                          Meine Idee ist nun ein eigenes kleines JAvascript zu schreiben und z.b. Das Datum von Morgen auszugeben.

                          Dazu habe ich das scriptunter Scripte ein javascript geschrieben mit dem Titel actual Dates. Das sieht grade so aus:

                          var heute = new Date();
                          heute = new Date(heute.getFullYear(),heute.getMonth(),heute.getDate(),0,0,0)
                          var morgen = new Date(heute);
                          morgen.setDate(morgen.getDate()+1);
                          console.log(morgen);
                          

                          wenn ich nun in die Vis gehen und string text nehme und als ObjectID mein javascript bekomme ich nur true angzeigt.

                          Hat jemand eine Idee wie ich das Datum von morgen, übermorgen in meine Vis einbetten kann?

                          Danke für eure Hilfe

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

                          @jones1975

                          mit einer reinen vis-lösung geht auch folgendes.
                          Alternative1
                          Da du jetzt nicht wirklich geschrieben hast, wie die Daten genau vorliegen, habe ich es mal an einem Beispiel aus einem Datenpunkt aufgeschrieben

                          Schritt1: den folgenden Code im Skripte-Tab in vis irgendwo am Ende kopieren (falls schon was drinsteht)

                          function calcDate(datum) {
                              return datum.substr(0,2)+"."+datum.substr(2,2)+"."+datum.substr(4);
                          }
                          

                          Schritt2: Lege ein neues Html-Widget an
                          und trage in das Html-Feld das folgende ein

                          {datum:0_userdata.0.test.test1;calcDate(datum)}
                          

                          0_userdata.0.test.test1 gegen deinen Datenpunkt tauschen

                          Alternative2
                          Falls der Wert nicht in einem Datenpunkt vorliegt, geht auch noch folgendes, ebenfalls mit einem html-widget

                          <div id="meinDatum"></div>
                          

                          in deinem Code kannst du dann folgendes verwenden. In Variable datum muss der String in in Form 25042023 vorliegen.

                          $("#meinDatum").html(calcDate(datum));
                          

                          Du musst allerdings aufpassen, das zum Zeitpunkt deiner Skriptausführung das widget bereits existiert. Prüfen kannst du das mit der Funktion waitForElementaus dem folgenden thread
                          https://forum.iobroker.net/topic/48663/howto-skripte-im-vis-editor-mit-jquery?_=1682415616257

                          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

                          599

                          Online

                          32.5k

                          Benutzer

                          81.7k

                          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