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. Node-Red
  5. [error] [function:generateChart] TypeError: ....

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    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

[error] [function:generateChart] TypeError: ....

Geplant Angeheftet Gesperrt Verschoben Node-Red
20 Beiträge 2 Kommentatoren 938 Aufrufe 2 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.
  • W Offline
    W Offline
    woupi
    schrieb am zuletzt editiert von
    #1

    Hallo,
    ich bin neu im Thema iobroker und mit Node-Red habe ich noch nie etwas zu tun gehabt.
    Ich habe iobroker auf einer VM in Proxmox am laufen und in einem lxc Smart Appliance Enabler.
    Dieser wurde um Node-Red erweitert.
    Ich habe noch überhaupt keine Vorstellung was ich da jetzt mit machen kann oder muss,
    wollte aber den Node-Red Adapter nutzen.
    Leider bekomme ich, nachdem ich den Adapter installiert habe, direkt beim starten der Instanz, kontinuierlich diese Fehlermeldung, hier ein kleiner Auszug:

    
    node-red.0
    2023-03-05 10:37:47.662	error	5 Mar 09:37:47 - [error] [function:generateChart] TypeError: Cannot read property 'addDays' of undefined
    
    node-red.0
    2023-03-05 10:37:47.657	error	5 Mar 09:37:47 - [error] [function:generateChart] TypeError: Cannot read property 'addDays' of undefined
    
    node-red.0
    2023-03-05 10:37:47.360	error	5 Mar 09:37:47 - [error] [function:generateChart] TypeError: Cannot read property 'addDays' of undefined
    
    node-red.0
    2023-03-05 10:37:47.274	error	5 Mar 09:37:47 - [error] [function:generateChart] TypeError: Cannot read property 'addDays' of undefined
    
    node-red.0
    2023-03-05 10:37:47.271	error	5 Mar 09:37:47 - [error] [function:generateChart] TypeError: Cannot read property 'addDays' of undefined
    
    node-red.0
    2023-03-05 10:37:47.260	error	5 Mar 09:37:47 - [error] [function:generateChart] TypeError: Cannot read property 'addDays' of undefined
    
    node-red.0
    2023-03-05 10:37:47.251	error	5 Mar 09:37:47 - [error] [function:generateChart] TypeError: Cannot read property 'addDays' of undefined
    

    Ich habe nicht die blasseste Idee, was ich falsch mache, bzw machen muss, damit das Fehlerfrei läuft und wäre daher dankbar für jeden Tipp.

    VG
    Sascha

    NUC10i3, Proxmox, VM Ubuntu iobroker, lxc ubuntu influxdb, grafana, lxc ubuntu SAE, lxc ubuntu MotionEye, WP Panasonic Jeisha 5kW mit Heishamon, Shelly 2.5 und 2pm Rolladensteuerung, OpenWB Wallbox

    mickymM 1 Antwort Letzte Antwort
    0
    • W woupi

      Hallo,
      ich bin neu im Thema iobroker und mit Node-Red habe ich noch nie etwas zu tun gehabt.
      Ich habe iobroker auf einer VM in Proxmox am laufen und in einem lxc Smart Appliance Enabler.
      Dieser wurde um Node-Red erweitert.
      Ich habe noch überhaupt keine Vorstellung was ich da jetzt mit machen kann oder muss,
      wollte aber den Node-Red Adapter nutzen.
      Leider bekomme ich, nachdem ich den Adapter installiert habe, direkt beim starten der Instanz, kontinuierlich diese Fehlermeldung, hier ein kleiner Auszug:

      
      node-red.0
      2023-03-05 10:37:47.662	error	5 Mar 09:37:47 - [error] [function:generateChart] TypeError: Cannot read property 'addDays' of undefined
      
      node-red.0
      2023-03-05 10:37:47.657	error	5 Mar 09:37:47 - [error] [function:generateChart] TypeError: Cannot read property 'addDays' of undefined
      
      node-red.0
      2023-03-05 10:37:47.360	error	5 Mar 09:37:47 - [error] [function:generateChart] TypeError: Cannot read property 'addDays' of undefined
      
      node-red.0
      2023-03-05 10:37:47.274	error	5 Mar 09:37:47 - [error] [function:generateChart] TypeError: Cannot read property 'addDays' of undefined
      
      node-red.0
      2023-03-05 10:37:47.271	error	5 Mar 09:37:47 - [error] [function:generateChart] TypeError: Cannot read property 'addDays' of undefined
      
      node-red.0
      2023-03-05 10:37:47.260	error	5 Mar 09:37:47 - [error] [function:generateChart] TypeError: Cannot read property 'addDays' of undefined
      
      node-red.0
      2023-03-05 10:37:47.251	error	5 Mar 09:37:47 - [error] [function:generateChart] TypeError: Cannot read property 'addDays' of undefined
      

      Ich habe nicht die blasseste Idee, was ich falsch mache, bzw machen muss, damit das Fehlerfrei läuft und wäre daher dankbar für jeden Tipp.

      VG
      Sascha

      mickymM Online
      mickymM Online
      mickym
      Most Active
      schrieb am zuletzt editiert von mickym
      #2

      @woupi in Deiner function node Generate chart ist ein Fehler. Also Fehler beheben. Du versuchst über add Days auf eine Eigenschaft oder Methode eines Objektes zuzugreifen, das es nicht gibt.

      Irgendeinen Flow scheinst du doch bereits zu haben.

      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

      W 1 Antwort Letzte Antwort
      0
      • mickymM mickym

        @woupi in Deiner function node Generate chart ist ein Fehler. Also Fehler beheben. Du versuchst über add Days auf eine Eigenschaft oder Methode eines Objektes zuzugreifen, das es nicht gibt.

        Irgendeinen Flow scheinst du doch bereits zu haben.

        W Offline
        W Offline
        woupi
        schrieb am zuletzt editiert von woupi
        #3

        @mickym
        Ok, Danke.
        Dann habe ich sicher irgendwo bei SAE einen Fehler gemacht.

        Folgende Module müssen über Manage Palette -> Install installiert werden:
        
        node-red-node-ui-table
        node-red-dashboard
        Für die nachfolgende Installation von camueller/node-red-contrib-ui-timelines-chart muss git installiert sein, was sich durch den Befehl sudo apt install git erreichen lässt.
        
        Einige weitere Bibliotheken müssen manuell in der Shell installiert werden, während man sich im Verzeichnis ~/.node-red (Docker: /data) befindet:
        
        camueller/node-red-contrib-ui-timelines-chart
        date-fns
        Dazu muss der nachfolgende Befehl für jeden Namen aus der vorangegangen Liste einmal ausgeführt werden, wobei <name> jeweils durch den Listeneintrag ersetz werden muss:
        
        $ npm i <name>
        Die Bibliothek date-fns muss noch in der Datei ~/.node-red/settings.js (Docker: /data/settings.js) eingetragen werden. Dazu in der Datei suchen nach functionGlobalContext) und ändern wie folgt:
        
        functionGlobalContext: {                                                         
          datefns:require('date-fns')                                                  
        },
        

        Die Anleitung habe ich so nicht verstanden und ich denke, da muss ich nochmal nachforschen.
        So weiß ich aber wenigstens, das es damit zu tun haben muss und nicht mit Node-Red oder dem Adapter.
        VG

        NUC10i3, Proxmox, VM Ubuntu iobroker, lxc ubuntu influxdb, grafana, lxc ubuntu SAE, lxc ubuntu MotionEye, WP Panasonic Jeisha 5kW mit Heishamon, Shelly 2.5 und 2pm Rolladensteuerung, OpenWB Wallbox

        mickymM 1 Antwort Letzte Antwort
        0
        • W woupi

          @mickym
          Ok, Danke.
          Dann habe ich sicher irgendwo bei SAE einen Fehler gemacht.

          Folgende Module müssen über Manage Palette -> Install installiert werden:
          
          node-red-node-ui-table
          node-red-dashboard
          Für die nachfolgende Installation von camueller/node-red-contrib-ui-timelines-chart muss git installiert sein, was sich durch den Befehl sudo apt install git erreichen lässt.
          
          Einige weitere Bibliotheken müssen manuell in der Shell installiert werden, während man sich im Verzeichnis ~/.node-red (Docker: /data) befindet:
          
          camueller/node-red-contrib-ui-timelines-chart
          date-fns
          Dazu muss der nachfolgende Befehl für jeden Namen aus der vorangegangen Liste einmal ausgeführt werden, wobei <name> jeweils durch den Listeneintrag ersetz werden muss:
          
          $ npm i <name>
          Die Bibliothek date-fns muss noch in der Datei ~/.node-red/settings.js (Docker: /data/settings.js) eingetragen werden. Dazu in der Datei suchen nach functionGlobalContext) und ändern wie folgt:
          
          functionGlobalContext: {                                                         
            datefns:require('date-fns')                                                  
          },
          

          Die Anleitung habe ich so nicht verstanden und ich denke, da muss ich nochmal nachforschen.
          So weiß ich aber wenigstens, das es damit zu tun haben muss und nicht mit Node-Red oder dem Adapter.
          VG

          mickymM Online
          mickymM Online
          mickym
          Most Active
          schrieb am zuletzt editiert von mickym
          #4

          @woupi Du musst halt die Node installieren - aber nichts mit npm.
          Mach in der Adapterkonfig an, dass Du den Pallettenmanager nutzen willst und installiere die Node über den Pallettenmanager oder alternativ trag das Modul in der Adapterkonfiguration ein. Blos nichts mit npm rumkonfigurieren.

          Das dashboard hast ja auch nicht installiert.

          node-red-node-ui-table
          node-red-dashboard

          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

          W 1 Antwort Letzte Antwort
          0
          • mickymM mickym

            @woupi Du musst halt die Node installieren - aber nichts mit npm.
            Mach in der Adapterkonfig an, dass Du den Pallettenmanager nutzen willst und installiere die Node über den Pallettenmanager oder alternativ trag das Modul in der Adapterkonfiguration ein. Blos nichts mit npm rumkonfigurieren.

            Das dashboard hast ja auch nicht installiert.

            node-red-node-ui-table
            node-red-dashboard

            W Offline
            W Offline
            woupi
            schrieb am zuletzt editiert von
            #5

            @mickym

            Vielen Dank.
            Den Pallettenmanager hatte ich aktiviert, ich habe nur aus der Not raus, da ich nicht weiter gekommen bin, den Adapter und auch die Instanz gelöscht und neu installiert und dieses mal den Pallettenmanager noch nicht aktiviert.

            Auch ist und war auch schon node-red-node-ui-table und node-red-dashboard über den Pallettenmanager installiert.

            Also hatte ich den Teil ja schonmal richtig gemacht.

            Auf den gleichen Weg habe ich node-red-contrib-ui-timelines-chart istalliert.
            Nur date-fns, lässt sich so nicht installieren, bzw der Pallettenmanager findet dazu nichts.
            Also gehe ich davon aus, dass da mein Problem liegt.
            VG

            NUC10i3, Proxmox, VM Ubuntu iobroker, lxc ubuntu influxdb, grafana, lxc ubuntu SAE, lxc ubuntu MotionEye, WP Panasonic Jeisha 5kW mit Heishamon, Shelly 2.5 und 2pm Rolladensteuerung, OpenWB Wallbox

            mickymM 1 Antwort Letzte Antwort
            0
            • W woupi

              @mickym

              Vielen Dank.
              Den Pallettenmanager hatte ich aktiviert, ich habe nur aus der Not raus, da ich nicht weiter gekommen bin, den Adapter und auch die Instanz gelöscht und neu installiert und dieses mal den Pallettenmanager noch nicht aktiviert.

              Auch ist und war auch schon node-red-node-ui-table und node-red-dashboard über den Pallettenmanager installiert.

              Also hatte ich den Teil ja schonmal richtig gemacht.

              Auf den gleichen Weg habe ich node-red-contrib-ui-timelines-chart istalliert.
              Nur date-fns, lässt sich so nicht installieren, bzw der Pallettenmanager findet dazu nichts.
              Also gehe ich davon aus, dass da mein Problem liegt.
              VG

              mickymM Online
              mickymM Online
              mickym
              Most Active
              schrieb am zuletzt editiert von mickym
              #6

              @woupi sagte in [error] [function:generateChart] TypeError: ....:

              date-fns

              Gut wenn Du unbedingt nodejs Module in einer function Node brauchst, dann installiert man die überhaupt nicht, sondern trägt das ganze in die function Node selbst ein - und das installiert sich völlig automatisch.

              Diese Funktion ist im Adapter automatisch freigeschaltet. Also hier eintragen: https://nodered.org/docs/user-guide/writing-functions

              siehe: Using the functionExternalModules option

              a7054cb4-698d-40b0-b6c9-3304f2ff4b2e-image.png

              Im Übrigen habe ich zur Nutzung externer Module auch einen ausführlichen Beitrag hier an Board geschrieben: https://forum.iobroker.net/topic/53446/ext-nodejs-module-in-node-red-on-the-fly-nutzen-ab-v-3-0.
              Dort findest Du auch Hintergründe und die entsprechenden Pfade, wo beispielsweise diese Module unter dem iobroker dann installiert werden.

              Ich frag mich NUR, warum man so einen Mist braucht, wenn man anstelle von function Nodes - Change Nodes nimmt. Da ist die moments Bibliothek enthalten und da kann man die meisten Dinge mit Hausmitteln machen und schreibt auch nicht viel Code.

              Eine Zusammenstellung zur Datums- und Zeitverarbeitung mit Hausmitteln von NodeRed - habe ich vor gut einem Jahr ja mal hier verfasst: https://forum.iobroker.net/topic/50086/datum-und-zeitverarbeitung-mit-nodered

              Um zum Beispiel Tage zu einem bestimmten Datum zu addieren ist hier mit Hausmitteln sehr einfach beschrieben: https://forum.iobroker.net/post/717238

              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

              W 1 Antwort Letzte Antwort
              0
              • mickymM mickym

                @woupi sagte in [error] [function:generateChart] TypeError: ....:

                date-fns

                Gut wenn Du unbedingt nodejs Module in einer function Node brauchst, dann installiert man die überhaupt nicht, sondern trägt das ganze in die function Node selbst ein - und das installiert sich völlig automatisch.

                Diese Funktion ist im Adapter automatisch freigeschaltet. Also hier eintragen: https://nodered.org/docs/user-guide/writing-functions

                siehe: Using the functionExternalModules option

                a7054cb4-698d-40b0-b6c9-3304f2ff4b2e-image.png

                Im Übrigen habe ich zur Nutzung externer Module auch einen ausführlichen Beitrag hier an Board geschrieben: https://forum.iobroker.net/topic/53446/ext-nodejs-module-in-node-red-on-the-fly-nutzen-ab-v-3-0.
                Dort findest Du auch Hintergründe und die entsprechenden Pfade, wo beispielsweise diese Module unter dem iobroker dann installiert werden.

                Ich frag mich NUR, warum man so einen Mist braucht, wenn man anstelle von function Nodes - Change Nodes nimmt. Da ist die moments Bibliothek enthalten und da kann man die meisten Dinge mit Hausmitteln machen und schreibt auch nicht viel Code.

                Eine Zusammenstellung zur Datums- und Zeitverarbeitung mit Hausmitteln von NodeRed - habe ich vor gut einem Jahr ja mal hier verfasst: https://forum.iobroker.net/topic/50086/datum-und-zeitverarbeitung-mit-nodered

                Um zum Beispiel Tage zu einem bestimmten Datum zu addieren ist hier mit Hausmitteln sehr einfach beschrieben: https://forum.iobroker.net/post/717238

                W Offline
                W Offline
                woupi
                schrieb am zuletzt editiert von
                #7

                @mickym sagte in [error] [function:generateChart] TypeError: ....:

                Nochmal vielen Dank.
                Ich muss nur leider gestehen, das ich keine Ahnung habe was ich wo machen sollte.
                Wie gesagt, ich kenne Node-Red und auch den Adapter nicht.
                Ich habe den von dir verlinkten Beitrag gelesen, komme aber auch da nicht weiter und zwar weil ich schlicht nicht weiß wie ich an die Stelle in dem Screenshot, den Du immer wieder zeigst, komme.

                a7054cb4-698d-40b0-b6c9-3304f2ff4b2e-image.png

                VG

                NUC10i3, Proxmox, VM Ubuntu iobroker, lxc ubuntu influxdb, grafana, lxc ubuntu SAE, lxc ubuntu MotionEye, WP Panasonic Jeisha 5kW mit Heishamon, Shelly 2.5 und 2pm Rolladensteuerung, OpenWB Wallbox

                W 1 Antwort Letzte Antwort
                0
                • W woupi

                  @mickym sagte in [error] [function:generateChart] TypeError: ....:

                  Nochmal vielen Dank.
                  Ich muss nur leider gestehen, das ich keine Ahnung habe was ich wo machen sollte.
                  Wie gesagt, ich kenne Node-Red und auch den Adapter nicht.
                  Ich habe den von dir verlinkten Beitrag gelesen, komme aber auch da nicht weiter und zwar weil ich schlicht nicht weiß wie ich an die Stelle in dem Screenshot, den Du immer wieder zeigst, komme.

                  a7054cb4-698d-40b0-b6c9-3304f2ff4b2e-image.png

                  VG

                  W Offline
                  W Offline
                  woupi
                  schrieb am zuletzt editiert von
                  #8

                  @woupi
                  Ah, ich glaube ich habe es gefunden.
                  Doppelklick auf das function Node.
                  Dann mach ich mal weiter.

                  NUC10i3, Proxmox, VM Ubuntu iobroker, lxc ubuntu influxdb, grafana, lxc ubuntu SAE, lxc ubuntu MotionEye, WP Panasonic Jeisha 5kW mit Heishamon, Shelly 2.5 und 2pm Rolladensteuerung, OpenWB Wallbox

                  1 Antwort Letzte Antwort
                  0
                  • W Offline
                    W Offline
                    woupi
                    schrieb am zuletzt editiert von
                    #9

                    Ich habe es offensichtlich falsch verstanden.

                    So habe ich das bei jeder function Node eingetragen, Fehler bleiben aber, also gehe ich davon aus, dass das was ich da gemacht habe, falsch ist und damit, dass ich die Texte nicht verstanden habe. Sorry.
                    nodered.jpg

                    NUC10i3, Proxmox, VM Ubuntu iobroker, lxc ubuntu influxdb, grafana, lxc ubuntu SAE, lxc ubuntu MotionEye, WP Panasonic Jeisha 5kW mit Heishamon, Shelly 2.5 und 2pm Rolladensteuerung, OpenWB Wallbox

                    mickymM 1 Antwort Letzte Antwort
                    0
                    • W woupi

                      Ich habe es offensichtlich falsch verstanden.

                      So habe ich das bei jeder function Node eingetragen, Fehler bleiben aber, also gehe ich davon aus, dass das was ich da gemacht habe, falsch ist und damit, dass ich die Texte nicht verstanden habe. Sorry.
                      nodered.jpg

                      mickymM Online
                      mickymM Online
                      mickym
                      Most Active
                      schrieb am zuletzt editiert von
                      #10

                      @woupi willst du eigentlich NodeRed verstehen oder nur den Flow zum Laufen bringen. Wenn nur Letztes dann exportiere den Flow und stelle den hier in Code Tags ein und gib vielleicht noch die Quelle an, woher Du den Flow hast.

                      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                      W 1 Antwort Letzte Antwort
                      0
                      • mickymM mickym

                        @woupi willst du eigentlich NodeRed verstehen oder nur den Flow zum Laufen bringen. Wenn nur Letztes dann exportiere den Flow und stelle den hier in Code Tags ein und gib vielleicht noch die Quelle an, woher Du den Flow hast.

                        W Offline
                        W Offline
                        woupi
                        schrieb am zuletzt editiert von
                        #11

                        @mickym sagte in [error] [function:generateChart] TypeError: ....:

                        @woupi willst du eigentlich NodeRed verstehen oder nur den Flow zum Laufen bringen. Wenn nur Letztes dann exportiere den Flow und stelle den hier in Code Tags ein und gib vielleicht noch die Quelle an, woher Du den Flow hast.

                        Im Moment nur den Flow zum laufen bringen. Wobei ich nicht mal weiß ob das, für das Programm SAE, zwingend Notwendig oder nur ein zusätzliches feature ist.

                        Der Flow umfast 8000 Zeilen. Da das hier nicht einzufügen ist, hier die ersten 192 Zeilen
                        Quelle: https://github.com/camueller/SmartApplianceEnabler/blob/master/doc/NodeRED_DE.md

                        [
                          {
                            "id": "c43962b6ea552bbc",
                            "type": "mqtt-broker",
                            "name": "MQTT Broker (SAE)",
                            "broker": "127.0.0.1",
                            "port": 1883,
                            "clientid": "",
                            "autoConnect": true,
                            "usetls": false,
                            "protocolVersion": "4",
                            "keepalive": "60",
                            "cleansession": true,
                            "birthTopic": "",
                            "birthQos": "0",
                            "birthPayload": "",
                            "birthMsg": {},
                            "closeTopic": "",
                            "closeQos": "0",
                            "closePayload": "",
                            "closeMsg": {},
                            "willTopic": "",
                            "willQos": "0",
                            "willPayload": "",
                            "willMsg": {},
                            "sessionExpiry": ""
                          },
                          {
                            "id": "c708b02aa4ea7d17",
                            "type": "ui_base",
                            "theme": {
                              "name": "theme-light",
                              "lightTheme": {
                                "default": "#0094CE",
                                "baseColor": "#0094CE",
                                "baseFont": "-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif",
                                "edited": true,
                                "reset": false
                              },
                              "darkTheme": {
                                "default": "#097479",
                                "baseColor": "#097479",
                                "baseFont": "-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif",
                                "edited": false
                              },
                              "customTheme": {
                                "name": "Untitled Theme 1",
                                "default": "#4B7930",
                                "baseColor": "#4B7930",
                                "baseFont": "-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif"
                              },
                              "themeState": {
                                "base-color": {
                                  "default": "#0094CE",
                                  "value": "#0094CE",
                                  "edited": false
                                },
                                "page-titlebar-backgroundColor": {
                                  "value": "#0094CE",
                                  "edited": false
                                },
                                "page-backgroundColor": {
                                  "value": "#fafafa",
                                  "edited": false
                                },
                                "page-sidebar-backgroundColor": {
                                  "value": "#ffffff",
                                  "edited": false
                                },
                                "group-textColor": {
                                  "value": "#1bbfff",
                                  "edited": false
                                },
                                "group-borderColor": {
                                  "value": "#ffffff",
                                  "edited": false
                                },
                                "group-backgroundColor": {
                                  "value": "#ffffff",
                                  "edited": false
                                },
                                "widget-textColor": {
                                  "value": "#111111",
                                  "edited": false
                                },
                                "widget-backgroundColor": {
                                  "value": "#0094ce",
                                  "edited": false
                                },
                                "widget-borderColor": {
                                  "value": "#ffffff",
                                  "edited": false
                                },
                                "base-font": {
                                  "value": "-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif"
                                }
                              },
                              "angularTheme": {
                                "primary": "indigo",
                                "accents": "blue",
                                "warn": "red",
                                "background": "grey",
                                "palette": "light"
                              }
                            },
                            "site": {
                              "name": "Node-RED Dashboard",
                              "hideToolbar": "false",
                              "allowSwipe": "false",
                              "lockMenu": "false",
                              "allowTempTheme": "true",
                              "dateFormat": "DD/MM/YYYY",
                              "sizes": {
                                "sx": 48,
                                "sy": 48,
                                "gx": 6,
                                "gy": 6,
                                "cx": 6,
                                "cy": 6,
                                "px": 0,
                                "py": 0
                              }
                            }
                          },
                          {
                            "id": "71cf749113c40c7c",
                            "type": "ui_tab",
                            "name": "Smart Appliance Enabler",
                            "icon": "dashboard",
                            "disabled": false,
                            "hidden": false
                          },
                          {
                            "id": "b3d9d250e1d51bc2",
                            "type": "tab",
                            "label": "Allgemein",
                            "disabled": false,
                            "info": ""
                          },
                          {
                            "id": "dda3b4861f6afb0a",
                            "type": "ui_group",
                            "name": "Allgemein",
                            "tab": "71cf749113c40c7c",
                            "order": 4,
                            "disp": true,
                            "width": "27",
                            "collapse": true,
                            "className": ""
                          },
                          {
                            "id": "e2b502e287ad182d",
                            "type": "ui_template",
                            "z": "b3d9d250e1d51bc2",
                            "group": "dda3b4861f6afb0a",
                            "name": "Styles",
                            "order": 5,
                            "width": 0,
                            "height": 0,
                            "format": "<style>\n.nr-dashboard-ui_table {\n    padding-top: 15px !important;\n}\n</style>",
                            "storeOutMessages": true,
                            "fwdInMessages": true,
                            "resendOnRefresh": true,
                            "templateScope": "global",
                            "className": "",
                            "x": 170,
                            "y": 40,
                            "wires": [
                              []
                            ]
                          },
                          {
                            "id": "fcc5c3fdf1c8a138",
                            "type": "mqtt in",
                            "z": "b3d9d250e1d51bc2",
                            "name": "",
                            "topic": "sae/Event/#",
                            "qos": "2",
                            "datatype": "json",
                            "broker": "c43962b6ea552bbc",
                            "nl": false,
                            "rap": true,
                            "rh": 0,
                            "inputs": 0,
                            "x": 170,
                            "y": 100,
                            "wires": [
                              [
                                "bb20ef6633dc9346"
                              ]
                            ]
                          },
                        

                        NUC10i3, Proxmox, VM Ubuntu iobroker, lxc ubuntu influxdb, grafana, lxc ubuntu SAE, lxc ubuntu MotionEye, WP Panasonic Jeisha 5kW mit Heishamon, Shelly 2.5 und 2pm Rolladensteuerung, OpenWB Wallbox

                        1 Antwort Letzte Antwort
                        0
                        • mickymM Online
                          mickymM Online
                          mickym
                          Most Active
                          schrieb am zuletzt editiert von
                          #12

                          @woupi Teilflows nützen hier nichts. Entweder kopierst Du den ganzen Flow hier rein oder hängst ihn als Datei an Dein Posting-

                          vielleicht schreibst Du auch mal import as datefns - das F klein. oder Du kopierst mal so eine FunctionNode. in der diese Bibliothek genutzt wird hier in CodeTags-

                          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                          W 2 Antworten Letzte Antwort
                          0
                          • mickymM mickym

                            @woupi Teilflows nützen hier nichts. Entweder kopierst Du den ganzen Flow hier rein oder hängst ihn als Datei an Dein Posting-

                            vielleicht schreibst Du auch mal import as datefns - das F klein. oder Du kopierst mal so eine FunctionNode. in der diese Bibliothek genutzt wird hier in CodeTags-

                            W Offline
                            W Offline
                            woupi
                            schrieb am zuletzt editiert von woupi
                            #13

                            @mickym sagte in [error] [function:generateChart] TypeError: ....:

                            @woupi Teilflows nützen hier nichts. Entweder kopierst Du den ganzen Flow hier rein oder hängst ihn als Datei an Dein Posting-

                            vielleicht schreibst Du auch mal import as datefns - das F klein. oder Du kopierst mal so eine FunctionNode. in der diese Bibliothek genutzt wird hier in CodeTags-

                            Das ein Teil nichts nütz war mir fast klar, ich wollte nur nicht, nichts reinpacken. Das mit dem anhängen habe ich hier auch noch nie gemacht, habe etwas gesucht und auch gefunden, darum hier der ganze Code.

                            sae.txt

                            Das andere versuche ich aber natürlich auch.
                            Aus deinem Text entnehme ich, dass das was ich da gemacht habe, so aber schon der richtige Weg war und es nur einfach (warum auch immer) nicht funktioniert, oder?

                            Danke
                            VG

                            NUC10i3, Proxmox, VM Ubuntu iobroker, lxc ubuntu influxdb, grafana, lxc ubuntu SAE, lxc ubuntu MotionEye, WP Panasonic Jeisha 5kW mit Heishamon, Shelly 2.5 und 2pm Rolladensteuerung, OpenWB Wallbox

                            1 Antwort Letzte Antwort
                            0
                            • mickymM mickym

                              @woupi Teilflows nützen hier nichts. Entweder kopierst Du den ganzen Flow hier rein oder hängst ihn als Datei an Dein Posting-

                              vielleicht schreibst Du auch mal import as datefns - das F klein. oder Du kopierst mal so eine FunctionNode. in der diese Bibliothek genutzt wird hier in CodeTags-

                              W Offline
                              W Offline
                              woupi
                              schrieb am zuletzt editiert von
                              #14

                              @mickym

                              var datefns = global.get('datefns');
                              const dateFormat = 'yyyy-MM-dd HH:mm:ss';
                              
                              const startDateTime = new Date().setUTCHours(0, 0, 0, 0);
                              const endDateTime = datefns.addDays(new Date(startDateTime), 2);
                              
                              const optionalEntries = msg.payload.entries.filter(entry => entry.min !== null && !!entry.max && entry.min !== entry.max)
                              const optionalEnabledEntries = optionalEntries.filter(entry => entry.enabled)
                              const optionalDisabledEntries = optionalEntries.filter(entry => !entry.enabled)
                              
                              const requiredEntries = msg.payload.entries.filter(entry =>
                                (entry.type === 'RuntimeRequest' && entry.min === null && entry.max > 0) || entry.type === 'SocRequest');
                              const requiredEnabledEntries = requiredEntries.filter(entry => entry.enabled)
                              const requiredDisabledEntries = requiredEntries.filter(entry => !entry.enabled)
                              
                              const buildOptionalDataItem = (entry) => {
                                  return {
                                      timeRange: [
                                          entry.start,
                                          entry.end
                                      ],
                                      val: entry.max - entry.min
                                  }
                              };
                              
                              const buildRequiredDataItem = (entry) => {
                                  return {
                                      timeRange: [
                                          entry.start,
                                          entry.end
                                      ],
                                      val: entry.max
                                  }
                              };
                              
                              return {
                                  topic: msg.topic,
                                  payload: {
                                      dataItems: [
                                          {
                                              group: "optional",
                                              data: [
                                                  {
                                                      label: "disabled",
                                                      data: optionalDisabledEntries.map(entry => buildOptionalDataItem(entry))
                                                  },
                                                  {
                                                      label: "enabled",
                                                      data: optionalEnabledEntries.map(entry => buildOptionalDataItem(entry))
                                                  }
                                              ]
                                          },
                                          {
                                              group: "required",
                                              data: [
                                                  {
                                                      label: "disabled",
                                                      data: requiredDisabledEntries.map(entry => buildRequiredDataItem(entry))
                                                  },
                                                  {
                                                      label: "enabled",
                                                      data: requiredEnabledEntries.map(entry => buildRequiredDataItem(entry))
                                                  }
                                              ]
                                          }
                                      ],
                                      settings: {
                                          xAxis: {
                                              startDateTime: datefns.format(startDateTime, dateFormat),
                                              endDateTime: datefns.format(endDateTime, dateFormat),
                                          },
                                          chart: {
                                              height: 20,
                                              topMargin: 0
                                          }
                                      }
                                  }
                              }
                              
                              

                              NUC10i3, Proxmox, VM Ubuntu iobroker, lxc ubuntu influxdb, grafana, lxc ubuntu SAE, lxc ubuntu MotionEye, WP Panasonic Jeisha 5kW mit Heishamon, Shelly 2.5 und 2pm Rolladensteuerung, OpenWB Wallbox

                              mickymM 1 Antwort Letzte Antwort
                              0
                              • W woupi

                                @mickym

                                var datefns = global.get('datefns');
                                const dateFormat = 'yyyy-MM-dd HH:mm:ss';
                                
                                const startDateTime = new Date().setUTCHours(0, 0, 0, 0);
                                const endDateTime = datefns.addDays(new Date(startDateTime), 2);
                                
                                const optionalEntries = msg.payload.entries.filter(entry => entry.min !== null && !!entry.max && entry.min !== entry.max)
                                const optionalEnabledEntries = optionalEntries.filter(entry => entry.enabled)
                                const optionalDisabledEntries = optionalEntries.filter(entry => !entry.enabled)
                                
                                const requiredEntries = msg.payload.entries.filter(entry =>
                                  (entry.type === 'RuntimeRequest' && entry.min === null && entry.max > 0) || entry.type === 'SocRequest');
                                const requiredEnabledEntries = requiredEntries.filter(entry => entry.enabled)
                                const requiredDisabledEntries = requiredEntries.filter(entry => !entry.enabled)
                                
                                const buildOptionalDataItem = (entry) => {
                                    return {
                                        timeRange: [
                                            entry.start,
                                            entry.end
                                        ],
                                        val: entry.max - entry.min
                                    }
                                };
                                
                                const buildRequiredDataItem = (entry) => {
                                    return {
                                        timeRange: [
                                            entry.start,
                                            entry.end
                                        ],
                                        val: entry.max
                                    }
                                };
                                
                                return {
                                    topic: msg.topic,
                                    payload: {
                                        dataItems: [
                                            {
                                                group: "optional",
                                                data: [
                                                    {
                                                        label: "disabled",
                                                        data: optionalDisabledEntries.map(entry => buildOptionalDataItem(entry))
                                                    },
                                                    {
                                                        label: "enabled",
                                                        data: optionalEnabledEntries.map(entry => buildOptionalDataItem(entry))
                                                    }
                                                ]
                                            },
                                            {
                                                group: "required",
                                                data: [
                                                    {
                                                        label: "disabled",
                                                        data: requiredDisabledEntries.map(entry => buildRequiredDataItem(entry))
                                                    },
                                                    {
                                                        label: "enabled",
                                                        data: requiredEnabledEntries.map(entry => buildRequiredDataItem(entry))
                                                    }
                                                ]
                                            }
                                        ],
                                        settings: {
                                            xAxis: {
                                                startDateTime: datefns.format(startDateTime, dateFormat),
                                                endDateTime: datefns.format(endDateTime, dateFormat),
                                            },
                                            chart: {
                                                height: 20,
                                                topMargin: 0
                                            }
                                        }
                                    }
                                }
                                
                                
                                mickymM Online
                                mickymM Online
                                mickym
                                Most Active
                                schrieb am zuletzt editiert von mickym
                                #15

                                @woupi so ich habs denke - ich - das ist wieder mal ein Problem. das man uralte Flows importiert.

                                Also das Problem ist die function Node "generateChart"

                                Nur in diesen trägst Du diese ein:

                                c3a27589-2e8d-435a-bf4d-2def2edb19cc-image.png

                                Achte bitte darauf dass datefns - das f klein geschrieben ist.

                                Die erste Zeile in dieser function Node kommentierst du aus - bzw. löschst die:

                                2ab63c23-7d76-43d8-a43e-7de14763ef99-image.png
                                067d2eb4-8f48-4161-97f3-f336e05981fe-image.png

                                Zumindest scheint es dann zu funktionieren und zum aktuellen Datum werden 2 Tage dazu gezählt:

                                faa807b1-a009-4140-90a3-73ea5ab5c2a4-image.png

                                Für mich sieht das so aus, also ob das ein Nachfolger der moments Library ist.

                                Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                W 1 Antwort Letzte Antwort
                                0
                                • mickymM mickym

                                  @woupi so ich habs denke - ich - das ist wieder mal ein Problem. das man uralte Flows importiert.

                                  Also das Problem ist die function Node "generateChart"

                                  Nur in diesen trägst Du diese ein:

                                  c3a27589-2e8d-435a-bf4d-2def2edb19cc-image.png

                                  Achte bitte darauf dass datefns - das f klein geschrieben ist.

                                  Die erste Zeile in dieser function Node kommentierst du aus - bzw. löschst die:

                                  2ab63c23-7d76-43d8-a43e-7de14763ef99-image.png
                                  067d2eb4-8f48-4161-97f3-f336e05981fe-image.png

                                  Zumindest scheint es dann zu funktionieren und zum aktuellen Datum werden 2 Tage dazu gezählt:

                                  faa807b1-a009-4140-90a3-73ea5ab5c2a4-image.png

                                  Für mich sieht das so aus, also ob das ein Nachfolger der moments Library ist.

                                  W Offline
                                  W Offline
                                  woupi
                                  schrieb am zuletzt editiert von
                                  #16

                                  @mickym
                                  Vielen Dank für deine Mühe und Hilfe.
                                  Ich habe alle geändert.
                                  Nun kommen leider neue Fehler:

                                  function : (error)
                                  "ReferenceError: datefns is not defined (line 4, col 21)"
                                  5.3.2023, 19:16:17node: generateChart
                                  function : (error)
                                  "ReferenceError: datefns is not defined (line 4, col 21)"
                                  5.3.2023, 19:16:47node: generateChart
                                  function : (error)
                                  "ReferenceError: datefns is not defined (line 4, col 21)"
                                  5.3.2023, 19:17:17node: generateChart
                                  function : (error)
                                  "ReferenceError: datefns is not defined (line 4, col 21)"
                                  5.3.2023, 19:17:48node: generateChart
                                  function : (error)
                                  "ReferenceError: datefns is not defined (line 4, col 21)"
                                  5.3.2023, 19:18:17node: generateChart
                                  function : (error)
                                  "ReferenceError: datefns is not defined (line 4, col 21)"
                                  5.3.2023, 19:18:47node: generateChart
                                  function : (error)
                                  "ReferenceError: datefns is not defined (line 4, col 21)"
                                  
                                  

                                  NUC10i3, Proxmox, VM Ubuntu iobroker, lxc ubuntu influxdb, grafana, lxc ubuntu SAE, lxc ubuntu MotionEye, WP Panasonic Jeisha 5kW mit Heishamon, Shelly 2.5 und 2pm Rolladensteuerung, OpenWB Wallbox

                                  mickymM 1 Antwort Letzte Antwort
                                  0
                                  • W woupi

                                    @mickym
                                    Vielen Dank für deine Mühe und Hilfe.
                                    Ich habe alle geändert.
                                    Nun kommen leider neue Fehler:

                                    function : (error)
                                    "ReferenceError: datefns is not defined (line 4, col 21)"
                                    5.3.2023, 19:16:17node: generateChart
                                    function : (error)
                                    "ReferenceError: datefns is not defined (line 4, col 21)"
                                    5.3.2023, 19:16:47node: generateChart
                                    function : (error)
                                    "ReferenceError: datefns is not defined (line 4, col 21)"
                                    5.3.2023, 19:17:17node: generateChart
                                    function : (error)
                                    "ReferenceError: datefns is not defined (line 4, col 21)"
                                    5.3.2023, 19:17:48node: generateChart
                                    function : (error)
                                    "ReferenceError: datefns is not defined (line 4, col 21)"
                                    5.3.2023, 19:18:17node: generateChart
                                    function : (error)
                                    "ReferenceError: datefns is not defined (line 4, col 21)"
                                    5.3.2023, 19:18:47node: generateChart
                                    function : (error)
                                    "ReferenceError: datefns is not defined (line 4, col 21)"
                                    
                                    
                                    mickymM Online
                                    mickymM Online
                                    mickym
                                    Most Active
                                    schrieb am zuletzt editiert von mickym
                                    #17

                                    @woupi Nochmal Du musst vorne im setup das richtig einstellen - hab doch den Screenshot gepostet:

                                    Nicht nur die Zeile löschen sondern im setup das RICHTIG eintragen:

                                    84c80e4c-d060-48bf-b4ea-91d04de452cf-image.png

                                    Der Fehler kommt nur, wenn das nicht richtig eingetragen ist. - Und zwar in jede function Node, die diese Funktion nutzt - also in alle GenerateChart Nodes. Deaktivere alle Flows - dass Du nur einen Flow aktiv hast - und dann siehst Du ja ob es tut.

                                    Alternativ muss man wahrscheinlich die settings.js bearbeiten - das halte ich aber nicht für gut.

                                    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                    W 1 Antwort Letzte Antwort
                                    0
                                    • mickymM mickym

                                      @woupi Nochmal Du musst vorne im setup das richtig einstellen - hab doch den Screenshot gepostet:

                                      Nicht nur die Zeile löschen sondern im setup das RICHTIG eintragen:

                                      84c80e4c-d060-48bf-b4ea-91d04de452cf-image.png

                                      Der Fehler kommt nur, wenn das nicht richtig eingetragen ist. - Und zwar in jede function Node, die diese Funktion nutzt - also in alle GenerateChart Nodes. Deaktivere alle Flows - dass Du nur einen Flow aktiv hast - und dann siehst Du ja ob es tut.

                                      Alternativ muss man wahrscheinlich die settings.js bearbeiten - das halte ich aber nicht für gut.

                                      W Offline
                                      W Offline
                                      woupi
                                      schrieb am zuletzt editiert von
                                      #18

                                      @mickym
                                      sorry, hattest recht, ich habe bei einem der 17 habe ich es übersehen.

                                      NUC10i3, Proxmox, VM Ubuntu iobroker, lxc ubuntu influxdb, grafana, lxc ubuntu SAE, lxc ubuntu MotionEye, WP Panasonic Jeisha 5kW mit Heishamon, Shelly 2.5 und 2pm Rolladensteuerung, OpenWB Wallbox

                                      mickymM 1 Antwort Letzte Antwort
                                      0
                                      • W woupi

                                        @mickym
                                        sorry, hattest recht, ich habe bei einem der 17 habe ich es übersehen.

                                        mickymM Online
                                        mickymM Online
                                        mickym
                                        Most Active
                                        schrieb am zuletzt editiert von mickym
                                        #19

                                        @woupi Ja das Problem ist - man kann es auch anders beheben - dass die Anleitung mit einer alten NodeRed Version gearbeitet hat.
                                        66c7d66c-91ad-4abc-9df7-966bbab7a30e-image.png

                                        Auch die NodeJS Version ist nicht mehr aktuell.

                                        Das was die gemacht haben ist die settings.js zu ändern.

                                        b0073f1a-5b52-4c9d-8628-cc1455b65e0c-image.png

                                        Du musst sowas halt genau lesen.

                                        Im iobroker Umfeld hättest Du das zwar machen können, indem Du die settings.js unter /opt/iobroker/node-modules/iobroker.node-red bearbeitest. Aber das musst Du dann nach jedem Adapterupdate machen.

                                        Wenn Du das so gemacht hättest, dann hätte auch der code unverändert funktioniert - aber so ist es sauberer.

                                        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                        W 1 Antwort Letzte Antwort
                                        0
                                        • mickymM mickym

                                          @woupi Ja das Problem ist - man kann es auch anders beheben - dass die Anleitung mit einer alten NodeRed Version gearbeitet hat.
                                          66c7d66c-91ad-4abc-9df7-966bbab7a30e-image.png

                                          Auch die NodeJS Version ist nicht mehr aktuell.

                                          Das was die gemacht haben ist die settings.js zu ändern.

                                          b0073f1a-5b52-4c9d-8628-cc1455b65e0c-image.png

                                          Du musst sowas halt genau lesen.

                                          Im iobroker Umfeld hättest Du das zwar machen können, indem Du die settings.js unter /opt/iobroker/node-modules/iobroker.node-red bearbeitest. Aber das musst Du dann nach jedem Adapterupdate machen.

                                          Wenn Du das so gemacht hättest, dann hätte auch der code unverändert funktioniert - aber so ist es sauberer.

                                          W Offline
                                          W Offline
                                          woupi
                                          schrieb am zuletzt editiert von
                                          #20

                                          @mickym
                                          vielen Dank und schönen Abend.
                                          VG
                                          Sascha

                                          NUC10i3, Proxmox, VM Ubuntu iobroker, lxc ubuntu influxdb, grafana, lxc ubuntu SAE, lxc ubuntu MotionEye, WP Panasonic Jeisha 5kW mit Heishamon, Shelly 2.5 und 2pm Rolladensteuerung, OpenWB Wallbox

                                          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

                                          755

                                          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