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. Visualisierung
  4. "Rechnen" in Widgets

NEWS

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

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

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

"Rechnen" in Widgets

Geplant Angeheftet Gesperrt Verschoben Visualisierung
128 Beiträge 21 Kommentatoren 23.5k Aufrufe 15 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.
  • OliverIOO OliverIO

    @sushibomba

    die werte aus den datenpunkten kommen meist/immer als strings an.
    daher muss man sie erst in den DAtentyp number umwandeln damit man rechnen kann

    {value1:worx.0.123.rawMqtt.raw.blade_work_time;value2:worx.0.123.rawMqtt.raw.blade_work_time_reset;parseFloat(value1)-parseFloat(value2)}
    
    
    S Offline
    S Offline
    Sushibomba
    schrieb am zuletzt editiert von
    #61

    @oliverio
    Vielen Dank. Habe ich gerade direkt probiert aber er spuckt trotzdem keinen Wert aus :(

    SBorgS 1 Antwort Letzte Antwort
    0
    • S Sushibomba

      @oliverio
      Vielen Dank. Habe ich gerade direkt probiert aber er spuckt trotzdem keinen Wert aus :(

      SBorgS Offline
      SBorgS Offline
      SBorg
      Forum Testing Most Active
      schrieb am zuletzt editiert von
      #62

      @sushibomba Dann wäre mal ein "Debug" angebracht. Einfaches HTML-Widget mit entsprechendem Inhalt:

      erster Wert: {value1:worx.0.123.rawMqtt.raw.blade_work_time; value1} <br/>
      erster Wert: {value1:worx.0.123.rawMqtt.raw.blade_work_time;  typeof(value1)} <br/>
      zweiter Wert: {value2:worx.0.123.rawMqtt.raw.blade_work_time_reset; value2} <br/>
      zweiter Wert: {value2:worx.0.123.rawMqtt.raw.blade_work_time_reset; typeof(value2)} <br/>
      Berechnung: {value1:worx.0.123.rawMqtt.raw.blade_work_time;value2:worx.0.123.rawMqtt.raw.blade_work_time_reset;parseFloat(value1)-parseFloat(value2)}
      

      Was spuckt er denn da aus?

      LG SBorg ( SBorg auf GitHub)
      Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

      S 1 Antwort Letzte Antwort
      0
      • SBorgS SBorg

        @sushibomba Dann wäre mal ein "Debug" angebracht. Einfaches HTML-Widget mit entsprechendem Inhalt:

        erster Wert: {value1:worx.0.123.rawMqtt.raw.blade_work_time; value1} <br/>
        erster Wert: {value1:worx.0.123.rawMqtt.raw.blade_work_time;  typeof(value1)} <br/>
        zweiter Wert: {value2:worx.0.123.rawMqtt.raw.blade_work_time_reset; value2} <br/>
        zweiter Wert: {value2:worx.0.123.rawMqtt.raw.blade_work_time_reset; typeof(value2)} <br/>
        Berechnung: {value1:worx.0.123.rawMqtt.raw.blade_work_time;value2:worx.0.123.rawMqtt.raw.blade_work_time_reset;parseFloat(value1)-parseFloat(value2)}
        

        Was spuckt er denn da aus?

        S Offline
        S Offline
        Sushibomba
        schrieb am zuletzt editiert von Sushibomba
        #63

        @sborg

        Dann spuckt er das aus:

        erster Wert: 31161
        erster Wert: string
        zweiter Wert: 29570
        zweiter Wert: string
        Berechnung: 1591

        Also hier scheint die Berechnung zu funktionieren.

        SBorgS 1 Antwort Letzte Antwort
        0
        • S Sushibomba

          @sborg

          Dann spuckt er das aus:

          erster Wert: 31161
          erster Wert: string
          zweiter Wert: 29570
          zweiter Wert: string
          Berechnung: 1591

          Also hier scheint die Berechnung zu funktionieren.

          SBorgS Offline
          SBorgS Offline
          SBorg
          Forum Testing Most Active
          schrieb am zuletzt editiert von
          #64

          @sushibomba Dann bleibt die Frage "wo genau" du die Berechnung eintragen willst. Bindings funktionieren nicht überall ;)

          LG SBorg ( SBorg auf GitHub)
          Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

          S 1 Antwort Letzte Antwort
          0
          • SBorgS SBorg

            @sushibomba Dann bleibt die Frage "wo genau" du die Berechnung eintragen willst. Bindings funktionieren nicht überall ;)

            S Offline
            S Offline
            Sushibomba
            schrieb am zuletzt editiert von
            #65

            @sborg

            Also am liebsten würde ich sie mir in das Widget von MaterialDesign - Input einbauen. Dort dann als Number einfach nur anzeigen lassen und das Widget sperren damit es optisch zum Rest passt.
            Falls es aber nicht geht dann einfach als basic - number

            SBorgS 1 Antwort Letzte Antwort
            0
            • S Sushibomba

              @sborg

              Also am liebsten würde ich sie mir in das Widget von MaterialDesign - Input einbauen. Dort dann als Number einfach nur anzeigen lassen und das Widget sperren damit es optisch zum Rest passt.
              Falls es aber nicht geht dann einfach als basic - number

              SBorgS Offline
              SBorgS Offline
              SBorg
              Forum Testing Most Active
              schrieb am zuletzt editiert von
              #66

              @sushibomba MaterialDesign bin ich außen vor, Basic-Number geht IMHO nicht.
              Gibt aber einen einfachen Test. Trage einfach ein Binding ohne alles ein. Wird was angezeigt muss auch die Berechnung funktionieren:

              {worx.0.123.rawMqtt.raw.blade_work_time}
              

              LG SBorg ( SBorg auf GitHub)
              Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

              HomoranH S 2 Antworten Letzte Antwort
              0
              • SBorgS SBorg

                @sushibomba MaterialDesign bin ich außen vor, Basic-Number geht IMHO nicht.
                Gibt aber einen einfachen Test. Trage einfach ein Binding ohne alles ein. Wird was angezeigt muss auch die Berechnung funktionieren:

                {worx.0.123.rawMqtt.raw.blade_work_time}
                
                HomoranH Nicht stören
                HomoranH Nicht stören
                Homoran
                Global Moderator Administrators
                schrieb am zuletzt editiert von
                #67

                @sborg sagte in "Rechnen" in Widgets:

                Wird was angezeigt

                aber nicht im Editor!
                Erst in der Runtime

                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
                • SBorgS SBorg

                  @sushibomba MaterialDesign bin ich außen vor, Basic-Number geht IMHO nicht.
                  Gibt aber einen einfachen Test. Trage einfach ein Binding ohne alles ein. Wird was angezeigt muss auch die Berechnung funktionieren:

                  {worx.0.123.rawMqtt.raw.blade_work_time}
                  
                  S Offline
                  S Offline
                  Sushibomba
                  schrieb am zuletzt editiert von
                  #68

                  @sborg
                  Ok funktioniert leider nicht @Homoran auch nicht in der Runtime.

                  HomoranH 1 Antwort Letzte Antwort
                  0
                  • S Sushibomba

                    @sborg
                    Ok funktioniert leider nicht @Homoran auch nicht in der Runtime.

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

                    @sushibomba sagte in "Rechnen" in Widgets:

                    @sborg
                    Ok funktioniert leider nicht @Homoran auch nicht in der Runtime.

                    @sborg sagte in "Rechnen" in Widgets:

                    @sushibomba Dann bleibt die Frage "wo genau" du die Berechnung eintragen willst.

                    und?

                    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 -

                    S 1 Antwort Letzte Antwort
                    0
                    • HomoranH Homoran

                      @sushibomba sagte in "Rechnen" in Widgets:

                      @sborg
                      Ok funktioniert leider nicht @Homoran auch nicht in der Runtime.

                      @sborg sagte in "Rechnen" in Widgets:

                      @sushibomba Dann bleibt die Frage "wo genau" du die Berechnung eintragen willst.

                      und?

                      S Offline
                      S Offline
                      Sushibomba
                      schrieb am zuletzt editiert von
                      #70

                      @homoran

                      Ich möchte einfach nur in meiner Worx View die Zahl berechnet haben wie lange die Klingen vom Mährobotor laufen. Oder verstehe ich die Frage nicht 🙈

                      HomoranH 1 Antwort Letzte Antwort
                      0
                      • S Sushibomba

                        @homoran

                        Ich möchte einfach nur in meiner Worx View die Zahl berechnet haben wie lange die Klingen vom Mährobotor laufen. Oder verstehe ich die Frage nicht 🙈

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

                        @sushibomba sagte in "Rechnen" in Widgets:

                        Oder verstehe ich die Frage nicht

                        anscheinend.

                        @sborg sagte in "Rechnen" in Widgets:

                        Dann bleibt die Frage "wo genau" du die Berechnung eintragen willst.

                        nicht was du eintragen oder erreichen willst.

                        • welches Widget?
                        • in welchem Feld dort?

                        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 -

                        S 1 Antwort Letzte Antwort
                        0
                        • HomoranH Homoran

                          @sushibomba sagte in "Rechnen" in Widgets:

                          Oder verstehe ich die Frage nicht

                          anscheinend.

                          @sborg sagte in "Rechnen" in Widgets:

                          Dann bleibt die Frage "wo genau" du die Berechnung eintragen willst.

                          nicht was du eintragen oder erreichen willst.

                          • welches Widget?
                          • in welchem Feld dort?
                          S Offline
                          S Offline
                          Sushibomba
                          schrieb am zuletzt editiert von Sushibomba
                          #72

                          @homoran
                          Oh tut mir leid das ich es nicht sofort verstanden habe :-/

                          Entweder basic - Number -> Object ID
                          Oder am liebsten materialdesign - Input -> Object ID

                          HomoranH 1 Antwort Letzte Antwort
                          0
                          • S Sushibomba

                            @homoran
                            Oh tut mir leid das ich es nicht sofort verstanden habe :-/

                            Entweder basic - Number -> Object ID
                            Oder am liebsten materialdesign - Input -> Object ID

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

                            @sushibomba warum in Object-ID.
                            da muss der Datenpunkt rein, von wo die Daten bezogen werden.

                            IMHO darf/kann da kein Binding rein. Das funktioniert nicht (immer)

                            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 -

                            SBorgS S 2 Antworten Letzte Antwort
                            1
                            • HomoranH Homoran

                              @sushibomba warum in Object-ID.
                              da muss der Datenpunkt rein, von wo die Daten bezogen werden.

                              IMHO darf/kann da kein Binding rein. Das funktioniert nicht (immer)

                              SBorgS Offline
                              SBorgS Offline
                              SBorg
                              Forum Testing Most Active
                              schrieb am zuletzt editiert von
                              #74

                              @homoran sagte in "Rechnen" in Widgets:

                              IMHO~darf/ kann da kein Binding rein. Das funktioniert nicht (immer)

                              Jepp, in der ObjectID geht das nicht. Das hat aber mit dem System an sich zu tun, also Laufzeiten wann, was, wo gemacht wird.

                              LG SBorg ( SBorg auf GitHub)
                              Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                              1 Antwort Letzte Antwort
                              1
                              • HomoranH Homoran

                                @sushibomba warum in Object-ID.
                                da muss der Datenpunkt rein, von wo die Daten bezogen werden.

                                IMHO darf/kann da kein Binding rein. Das funktioniert nicht (immer)

                                S Offline
                                S Offline
                                Sushibomba
                                schrieb am zuletzt editiert von
                                #75

                                @homoran Ok alles klar. Dann muss ich es wohl anderweitig versuchen.

                                @SBorg Vielen Dank für deine Erklärung.

                                SBorgS 1 Antwort Letzte Antwort
                                0
                                • S Sushibomba

                                  @homoran Ok alles klar. Dann muss ich es wohl anderweitig versuchen.

                                  @SBorg Vielen Dank für deine Erklärung.

                                  SBorgS Offline
                                  SBorgS Offline
                                  SBorg
                                  Forum Testing Most Active
                                  schrieb am zuletzt editiert von
                                  #76

                                  @sushibomba sagte in "Rechnen" in Widgets:

                                  Dann muss ich es wohl anderweitig versuchen.

                                  So ganz verstehe ich noch nicht was du bezwecken willst. Du berechnest eine (Rest-)Laufzeit, die ist dynamisch (=verändert sich also). Warum willst du die dann als statische ObjectID?

                                  Dies ist eine ObjectID worx.0.123.rawMqtt.raw.blade_work_time
                                  Die wird iaR nie geändert (außer mal bei einem Adapter-Update), denn darauf greifen dann die Skripte, Blockly, Node-RED, VIS... zu. Die kann, und darf, sich also nie ändern (bis der Dev dies aus "Gründen" tut ;) ).
                                  Deine berechnete Zeit wäre dann ein state der ObjectID. Der darf/kann sich dann beliebig ändern.

                                  Wenn du versuchst aus "123456 Sekunden" des Bindings eine formatierte Zeitanzeige ala hh:mm zu generieren, musst du das anders lösen (Blockly, Hilfsdatenpunkt, JS-Snippet...).
                                  So ein JS-Snippet habe ich die Tage beim Shelly-Adapter gepostet, da dessen Uptime nun in Sekunden angezeigt wird ;)

                                  LG SBorg ( SBorg auf GitHub)
                                  Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                                  OliverIOO S 2 Antworten Letzte Antwort
                                  0
                                  • SBorgS SBorg

                                    @sushibomba sagte in "Rechnen" in Widgets:

                                    Dann muss ich es wohl anderweitig versuchen.

                                    So ganz verstehe ich noch nicht was du bezwecken willst. Du berechnest eine (Rest-)Laufzeit, die ist dynamisch (=verändert sich also). Warum willst du die dann als statische ObjectID?

                                    Dies ist eine ObjectID worx.0.123.rawMqtt.raw.blade_work_time
                                    Die wird iaR nie geändert (außer mal bei einem Adapter-Update), denn darauf greifen dann die Skripte, Blockly, Node-RED, VIS... zu. Die kann, und darf, sich also nie ändern (bis der Dev dies aus "Gründen" tut ;) ).
                                    Deine berechnete Zeit wäre dann ein state der ObjectID. Der darf/kann sich dann beliebig ändern.

                                    Wenn du versuchst aus "123456 Sekunden" des Bindings eine formatierte Zeitanzeige ala hh:mm zu generieren, musst du das anders lösen (Blockly, Hilfsdatenpunkt, JS-Snippet...).
                                    So ein JS-Snippet habe ich die Tage beim Shelly-Adapter gepostet, da dessen Uptime nun in Sekunden angezeigt wird ;)

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

                                    @sborg

                                    es gab hier schon anfragen, per binding die objectid zu berechnen, damit man nicht soviele widgets anlegen muss.

                                    aber vis kann keine dynamischen object ids

                                    Meine Adapter und Widgets
                                    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                                    Links im Profil

                                    SBorgS 1 Antwort Letzte Antwort
                                    0
                                    • SBorgS SBorg

                                      @sushibomba sagte in "Rechnen" in Widgets:

                                      Dann muss ich es wohl anderweitig versuchen.

                                      So ganz verstehe ich noch nicht was du bezwecken willst. Du berechnest eine (Rest-)Laufzeit, die ist dynamisch (=verändert sich also). Warum willst du die dann als statische ObjectID?

                                      Dies ist eine ObjectID worx.0.123.rawMqtt.raw.blade_work_time
                                      Die wird iaR nie geändert (außer mal bei einem Adapter-Update), denn darauf greifen dann die Skripte, Blockly, Node-RED, VIS... zu. Die kann, und darf, sich also nie ändern (bis der Dev dies aus "Gründen" tut ;) ).
                                      Deine berechnete Zeit wäre dann ein state der ObjectID. Der darf/kann sich dann beliebig ändern.

                                      Wenn du versuchst aus "123456 Sekunden" des Bindings eine formatierte Zeitanzeige ala hh:mm zu generieren, musst du das anders lösen (Blockly, Hilfsdatenpunkt, JS-Snippet...).
                                      So ein JS-Snippet habe ich die Tage beim Shelly-Adapter gepostet, da dessen Uptime nun in Sekunden angezeigt wird ;)

                                      S Offline
                                      S Offline
                                      Sushibomba
                                      schrieb am zuletzt editiert von
                                      #78

                                      @sborg

                                      Ich habe es jetzt mit nem JS und nem Datenpunkt gelöst. Mal schauen ob es funktioniert.

                                      'use strict';
                                       
                                      const idBladeWorkTime = 'worx.0.xxx.rawMqtt.raw.blade_work_time';
                                      const idBladeWorkTimeReset = 'worx.0.xxx.rawMqtt.raw.blade_work_time_reset';
                                      const idBladeWorkTimeCurrent = '0_userdata.0.VIS.Eigene_Datenpunkte.WORX.xxx.blade_work_time_current';
                                       
                                      function zweiStellig(zahl) {
                                          return zahl < 10 ? '0' + zahl : zahl
                                      }
                                       
                                      function stundenMinuten(minuten) {
                                          return parseInt(minuten / 60) + ':' + zweiStellig(minuten % 60);
                                      }
                                       
                                      on ({id: [idBladeWorkTime, idBladeWorkTimeReset], change: 'ne'}, function() {
                                          setState(idBladeWorkTimeCurrent, stundenMinuten(getState(idBladeWorkTime).val - getState(idBladeWorkTimeReset).val));
                                      })
                                      
                                      1 Antwort Letzte Antwort
                                      0
                                      • OliverIOO OliverIO

                                        @sborg

                                        es gab hier schon anfragen, per binding die objectid zu berechnen, damit man nicht soviele widgets anlegen muss.

                                        aber vis kann keine dynamischen object ids

                                        SBorgS Offline
                                        SBorgS Offline
                                        SBorg
                                        Forum Testing Most Active
                                        schrieb am zuletzt editiert von
                                        #79

                                        @oliverio Dass kann ich mir auch noch vorstellen, immerhin spart man sich den Alias.
                                        Aber wie ich es mir schon dachte, ging es eher darum die (Rest-)Laufzeit in die ObjectID zu "pressen", damit man dann schön mittels Widget wie bspw. Basic Number die Ausgabe formatieren kann ;)


                                        @Sushibomba Sollte gehen, zumindest sehe ich so erst mal keinen Fehler, aaaabbbbbeeeerrrr....

                                        brauchst du das nur für die VIS? Du berechnest fortwährend die Laufzeit neu. Sagen wir mal er schickt alle 10 Sekunden ein Update und mäht täglich 1h. Dann sind das 360 Berechnungen täglich, ob du sie brauchst oder nicht. Zwar noch nicht die Summe im Einzelnen, aber potenziere das noch mit anderen "unnützen" Berechnungen.
                                        Wenn es nur für die VIS ist, wäre es zumindest sinnvoller, es auch nur dann auszuführen wenn du auch drauf schaust/aufrufst.
                                        Schließlich wird auch niemand alle Minute melden "es regnet nicht", wenn er den Auftrag bekommt "sag mir bei Regen Bescheid"... ;)

                                        LG SBorg ( SBorg auf GitHub)
                                        Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                                        1 Antwort Letzte Antwort
                                        0
                                        • S Offline
                                          S Offline
                                          Sushibomba
                                          schrieb am zuletzt editiert von
                                          #80

                                          @sborg
                                          Ja da hast du absolut recht.
                                          Und wie optimiere ich das dann am einfachsten?
                                          Genau brauche es nur als Number in der Vis.

                                          SBorgS 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

                                          923

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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