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. Entwicklung
  4. Accuweather - stündliche Werte nicht komplett

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    351

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

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

Accuweather - stündliche Werte nicht komplett

Geplant Angeheftet Gesperrt Verschoben Entwicklung
accuweatherhourly datenpunkte
33 Beiträge 2 Kommentatoren 2.6k 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.
  • mickymM mickym

    @thomkast sagte in Accuweather - stündliche Werte nicht komplett:

    https://api.openweathermap.org/data/2.5/onecall?lat=xxxxxxxxxxx&lon=xxxxxxxxxxxxx&exclude=minutely,current,daily,alerts&appid=XXXXXXXXXXXXXXXXXXX&units=metric&lang=de

    Ich hab den mal benutzt und mit einem ganz einfachen Node-Red Flow bekommst Du die Daten aus Deinem Aufruf als Datenpunkte in den iobroker.

    3af438ba-b651-4ed6-b366-8755b570a476-image.png

    Für die fehlenden Objekte lassen wir dann auch noch ein Skript drüber laufen.

    Das sieht dann im iobroker so aus:

    64cbb693-f64f-4083-8fdb-2c5bef4eb804-image.png

    Außerdem hast Du Post (PN ;) )

    Also wenn Du das so wie oben haben willst, dann installiere Dir mal den NodeRed Adapter im iobroker. In der Konfiguration des Adapters

    51f39d9d-9ebd-4bbc-b8ae-b40ad7f3f665-image.png

    machst Du die Konvertierung in Zeichenkette raus und lässt die Erstellung von Fremdobkjekten zu.

    T Offline
    T Offline
    ThomKast
    schrieb am zuletzt editiert von
    #10

    @mickym

    So, da bin ich wieder... Habe noch 2 zwei-beinige-Projekte, die zu erst zur Ruhe kommen wollen :grin:

    Mit node-red wollte ich mich eh mal beschäftigen. Dann scheint wohl jetzt eine guter Moment zu sein :wink: . Arbeite mich anhand Deiner Infos voran und melde mich dann.

    ... schon mal wieder vielen Dank vorab!

    1 Antwort Letzte Antwort
    0
    • mickymM mickym

      @thomkast sagte in Accuweather - stündliche Werte nicht komplett:

      https://api.openweathermap.org/data/2.5/onecall?lat=xxxxxxxxxxx&lon=xxxxxxxxxxxxx&exclude=minutely,current,daily,alerts&appid=XXXXXXXXXXXXXXXXXXX&units=metric&lang=de

      Ich hab den mal benutzt und mit einem ganz einfachen Node-Red Flow bekommst Du die Daten aus Deinem Aufruf als Datenpunkte in den iobroker.

      3af438ba-b651-4ed6-b366-8755b570a476-image.png

      Für die fehlenden Objekte lassen wir dann auch noch ein Skript drüber laufen.

      Das sieht dann im iobroker so aus:

      64cbb693-f64f-4083-8fdb-2c5bef4eb804-image.png

      Außerdem hast Du Post (PN ;) )

      Also wenn Du das so wie oben haben willst, dann installiere Dir mal den NodeRed Adapter im iobroker. In der Konfiguration des Adapters

      51f39d9d-9ebd-4bbc-b8ae-b40ad7f3f665-image.png

      machst Du die Konvertierung in Zeichenkette raus und lässt die Erstellung von Fremdobkjekten zu.

      T Offline
      T Offline
      ThomKast
      schrieb am zuletzt editiert von
      #11

      @mickym

      @mickym sagte in Accuweather - stündliche Werte nicht komplett:

      @thomkast sagte in Accuweather - stündliche Werte nicht komplett:

      https://api.openweathermap.org/data/2.5/onecall?lat=xxxxxxxxxxx&lon=xxxxxxxxxxxxx&exclude=minutely,current,daily,alerts&appid=XXXXXXXXXXXXXXXXXXX&units=metric&lang=de

      Ich hab den mal benutzt und mit einem ganz einfachen Node-Red Flow bekommst Du die Daten aus Deinem Aufruf als Datenpunkte in den iobroker.

      3af438ba-b651-4ed6-b366-8755b570a476-image.png

      Für die fehlenden Objekte lassen wir dann auch noch ein Skript drüber laufen.

      Das sieht dann im iobroker so aus:

      64cbb693-f64f-4083-8fdb-2c5bef4eb804-image.png

      Außerdem hast Du Post (PN ;) )

      Also wenn Du das so wie oben haben willst, dann installiere Dir mal den NodeRed Adapter im iobroker. In der Konfiguration des Adapters

      51f39d9d-9ebd-4bbc-b8ae-b40ad7f3f665-image.png

      machst Du die Konvertierung in Zeichenkette raus und lässt die Erstellung von Fremdobkjekten zu.

      Also der node-red-Adapter läuft und die nötigen Nodes habe ich auch schon zusammengeklickt...
      c7cc021f-cf5c-4f9b-8e5e-4b135187cf09-image.png
      Aber da fehlen doch noch die ganzen Definition dazu...Oder?

      mickymM 1 Antwort Letzte Antwort
      0
      • T ThomKast

        @mickym

        @mickym sagte in Accuweather - stündliche Werte nicht komplett:

        @thomkast sagte in Accuweather - stündliche Werte nicht komplett:

        https://api.openweathermap.org/data/2.5/onecall?lat=xxxxxxxxxxx&lon=xxxxxxxxxxxxx&exclude=minutely,current,daily,alerts&appid=XXXXXXXXXXXXXXXXXXX&units=metric&lang=de

        Ich hab den mal benutzt und mit einem ganz einfachen Node-Red Flow bekommst Du die Daten aus Deinem Aufruf als Datenpunkte in den iobroker.

        3af438ba-b651-4ed6-b366-8755b570a476-image.png

        Für die fehlenden Objekte lassen wir dann auch noch ein Skript drüber laufen.

        Das sieht dann im iobroker so aus:

        64cbb693-f64f-4083-8fdb-2c5bef4eb804-image.png

        Außerdem hast Du Post (PN ;) )

        Also wenn Du das so wie oben haben willst, dann installiere Dir mal den NodeRed Adapter im iobroker. In der Konfiguration des Adapters

        51f39d9d-9ebd-4bbc-b8ae-b40ad7f3f665-image.png

        machst Du die Konvertierung in Zeichenkette raus und lässt die Erstellung von Fremdobkjekten zu.

        Also der node-red-Adapter läuft und die nötigen Nodes habe ich auch schon zusammengeklickt...
        c7cc021f-cf5c-4f9b-8e5e-4b135187cf09-image.png
        Aber da fehlen doch noch die ganzen Definition dazu...Oder?

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

        @thomkast Wenn Du die NodeRed-Adaptereinstellungen gemacht hast, dann brauchst Dir keine Nodes zusammensuchen, sondern importierst den Flow einfach:

        Openweather One Call.json

        Falls Du im Chrome auf die Datei klickst wird der Text aufgemacht dann mit rechter Maustaste mit "Speichern unter " irgendwo lokal abspeichern.

        Anschließend gehst Du in das rechte Menü und klickst auf Import:

        2b7a2918-0970-4948-b4ed-b5482314304a-image.png

        Klickst in dem Fenster auf Datei importieren und wählst die OPenweather One Call.json Datei aus.

        Über die Zwischenablage gehts dieses Mal nicht, da irgendein Apostroph den Import verhindert.

        In der Inject Node änderst Du wieder Deine Geodaten und Deinen API Key.

        644d417f-25f8-4e1c-8892-914476a401dc-image.png

        In der msg.top Node - kannst Du noch einen anderen Namen angeben, unter dem Du die Datenpunkte unter 0_userdata.0 anlegen willst. Ich habs halt mal openweather genannt. ;)

        41a3bcfd-3c20-4031-87cb-b7fe72883590-image.png

        Wenn das alles soweit geht, feuerst Du die Inject Node ab und DU solltest die Datenpunkte alle haben und dann müssen wir das seit dem admin5 noch fein schleifen. ;)

        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.

        T 1 Antwort Letzte Antwort
        0
        • mickymM mickym

          @thomkast Wenn Du die NodeRed-Adaptereinstellungen gemacht hast, dann brauchst Dir keine Nodes zusammensuchen, sondern importierst den Flow einfach:

          Openweather One Call.json

          Falls Du im Chrome auf die Datei klickst wird der Text aufgemacht dann mit rechter Maustaste mit "Speichern unter " irgendwo lokal abspeichern.

          Anschließend gehst Du in das rechte Menü und klickst auf Import:

          2b7a2918-0970-4948-b4ed-b5482314304a-image.png

          Klickst in dem Fenster auf Datei importieren und wählst die OPenweather One Call.json Datei aus.

          Über die Zwischenablage gehts dieses Mal nicht, da irgendein Apostroph den Import verhindert.

          In der Inject Node änderst Du wieder Deine Geodaten und Deinen API Key.

          644d417f-25f8-4e1c-8892-914476a401dc-image.png

          In der msg.top Node - kannst Du noch einen anderen Namen angeben, unter dem Du die Datenpunkte unter 0_userdata.0 anlegen willst. Ich habs halt mal openweather genannt. ;)

          41a3bcfd-3c20-4031-87cb-b7fe72883590-image.png

          Wenn das alles soweit geht, feuerst Du die Inject Node ab und DU solltest die Datenpunkte alle haben und dann müssen wir das seit dem admin5 noch fein schleifen. ;)

          T Offline
          T Offline
          ThomKast
          schrieb am zuletzt editiert von
          #13

          @mickym
          Import ist erledigt. Im inject habe ich die URL komplettiert.
          msg.top sieht nun so aus.
          2e49d426-a43e-49e7-ba6d-410df70c32bd-image.png
          Rest habe ich nur angeschaut und nichts geändert...

          Allerdings finde ich keine neue Gruppe und auch keine Datenpunkte in 0_userdata..?..?

          mickymM 1 Antwort Letzte Antwort
          0
          • T ThomKast

            @mickym
            Import ist erledigt. Im inject habe ich die URL komplettiert.
            msg.top sieht nun so aus.
            2e49d426-a43e-49e7-ba6d-410df70c32bd-image.png
            Rest habe ich nur angeschaut und nichts geändert...

            Allerdings finde ich keine neue Gruppe und auch keine Datenpunkte in 0_userdata..?..?

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

            @thomkast

            1. Hast Du den Flow übernommen
              6b3aeba2-30ad-47cb-934f-cec883d1d5b0-image.png darf nicht so rot sein, sondern muss grau sein.

            2. Hast Du dem NodeRed Adapter erlaubt Objekte zu erstellen
              c87eda93-5287-470a-a03b-be1695808aea-image.png

            3. Hast Du den Flow auch über die Inject Node gestartet?

            a2af70b8-64d2-42bf-abbf-83ecdb03801b-image.png

            habs Dir mal markiert wie Du den Flow startest. ;)

            Wenn alles geklappt hat, dann hast Du

            e45ad474-45b2-4aca-a4cc-e72499872bec-image.png

            unter 0_userdata => 0 => openweather => hourly => und dann 48 Unterordner.

            Wenn nicht müssen wir halt über debug Nodes schauen, wo der Fehler liegt.

            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.

            T 1 Antwort Letzte Antwort
            0
            • mickymM mickym

              @thomkast

              1. Hast Du den Flow übernommen
                6b3aeba2-30ad-47cb-934f-cec883d1d5b0-image.png darf nicht so rot sein, sondern muss grau sein.

              2. Hast Du dem NodeRed Adapter erlaubt Objekte zu erstellen
                c87eda93-5287-470a-a03b-be1695808aea-image.png

              3. Hast Du den Flow auch über die Inject Node gestartet?

              a2af70b8-64d2-42bf-abbf-83ecdb03801b-image.png

              habs Dir mal markiert wie Du den Flow startest. ;)

              Wenn alles geklappt hat, dann hast Du

              e45ad474-45b2-4aca-a4cc-e72499872bec-image.png

              unter 0_userdata => 0 => openweather => hourly => und dann 48 Unterordner.

              Wenn nicht müssen wir halt über debug Nodes schauen, wo der Fehler liegt.

              T Offline
              T Offline
              ThomKast
              schrieb am zuletzt editiert von
              #15

              @mickym
              Ja, glaubt man es denn... Kaum macht man es richtig, schon funktionierts.
              Ok, das sind echt die ersten Schritte. Und den inject zu starten hat ich nicht auf der Schnur.
              Schaue mir jetzt mal die Werte an.

              mickymM T 2 Antworten Letzte Antwort
              0
              • T ThomKast

                @mickym
                Ja, glaubt man es denn... Kaum macht man es richtig, schon funktionierts.
                Ok, das sind echt die ersten Schritte. Und den inject zu starten hat ich nicht auf der Schnur.
                Schaue mir jetzt mal die Werte an.

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

                @thomkast Helf Dir gleich weiter. Mach noch einen Flow für Dich. ;)

                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.

                1 Antwort Letzte Antwort
                0
                • T ThomKast

                  @mickym
                  Ja, glaubt man es denn... Kaum macht man es richtig, schon funktionierts.
                  Ok, das sind echt die ersten Schritte. Und den inject zu starten hat ich nicht auf der Schnur.
                  Schaue mir jetzt mal die Werte an.

                  T Offline
                  T Offline
                  ThomKast
                  schrieb am zuletzt editiert von
                  #17

                  @thomkast
                  Keine Hektik :+1:

                  Die 47 Folder ergeben sich offensichtlich aus den Daten. Allerdings ist die Uhrzeit nicht als DATE darstellbar. Die Werte stehen dann auf 1970... Daher weiß ich jetzt nicht welche zeit der Folder 0h enthält.
                  74da854a-76f1-4f92-8a13-0452f5d44e6a-image.png
                  Könnte der Wert als reguläres Datum dargestellt werden?

                  mickymM 1 Antwort Letzte Antwort
                  0
                  • T ThomKast

                    @thomkast
                    Keine Hektik :+1:

                    Die 47 Folder ergeben sich offensichtlich aus den Daten. Allerdings ist die Uhrzeit nicht als DATE darstellbar. Die Werte stehen dann auf 1970... Daher weiß ich jetzt nicht welche zeit der Folder 0h enthält.
                    74da854a-76f1-4f92-8a13-0452f5d44e6a-image.png
                    Könnte der Wert als reguläres Datum dargestellt werden?

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

                    @thomkast Das ist gleich mein 2. Flow für Dich - wie willst Du den Datumspunkt gerne genannt haben, habs gerade

                    a498de2b-c005-4bc3-b719-4c77930b7c04-image.png

                    forcastTime genannt - aber such Dir gerne was anderes aus, dann ändere ich das noch schnell in dem Flow.

                    Normalerweise darf da aber gar kein Datum drin stehen, sondern nur eine Zahl

                    66010d28-d04f-437c-8e6b-8b03b4f792cd-image.png

                    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.

                    T 2 Antworten Letzte Antwort
                    0
                    • mickymM mickym

                      @thomkast Das ist gleich mein 2. Flow für Dich - wie willst Du den Datumspunkt gerne genannt haben, habs gerade

                      a498de2b-c005-4bc3-b719-4c77930b7c04-image.png

                      forcastTime genannt - aber such Dir gerne was anderes aus, dann ändere ich das noch schnell in dem Flow.

                      Normalerweise darf da aber gar kein Datum drin stehen, sondern nur eine Zahl

                      66010d28-d04f-437c-8e6b-8b03b4f792cd-image.png

                      T Offline
                      T Offline
                      ThomKast
                      schrieb am zuletzt editiert von
                      #19

                      @mickym
                      Alles bestens, ist doch ein guter Vorschlag.
                      Habe das UNIX-Datum mal umgerechnet. 0h bedeutet die aktuelle Stunde - also 2200.

                      1 Antwort Letzte Antwort
                      0
                      • mickymM mickym

                        @thomkast Das ist gleich mein 2. Flow für Dich - wie willst Du den Datumspunkt gerne genannt haben, habs gerade

                        a498de2b-c005-4bc3-b719-4c77930b7c04-image.png

                        forcastTime genannt - aber such Dir gerne was anderes aus, dann ändere ich das noch schnell in dem Flow.

                        Normalerweise darf da aber gar kein Datum drin stehen, sondern nur eine Zahl

                        66010d28-d04f-437c-8e6b-8b03b4f792cd-image.png

                        T Offline
                        T Offline
                        ThomKast
                        schrieb am zuletzt editiert von
                        #20

                        @mickym sagte in Accuweather - stündliche Werte nicht komplett:

                        @thomkast Das ist gleich mein 2. Flow für Dich - wie willst Du den Datumspunkt gerne genannt haben, habs gerade

                        a498de2b-c005-4bc3-b719-4c77930b7c04-image.png

                        forcastTime genannt - aber such Dir gerne was anderes aus, dann ändere ich das noch schnell in dem Flow.

                        Normalerweise darf da aber gar kein Datum drin stehen, sondern nur eine Zahl

                        66010d28-d04f-437c-8e6b-8b03b4f792cd-image.png

                        Ja klar. Ich habe die Rolle manuell auf DATE geändert. Dachte es wird dann direkt korrekt dargestellt. Als Rolle STATE steht dann das UNIX UTC Datum/Uhrzeit als Zahl drin.

                        mickymM 3 Antworten Letzte Antwort
                        0
                        • T ThomKast

                          @mickym sagte in Accuweather - stündliche Werte nicht komplett:

                          @thomkast Das ist gleich mein 2. Flow für Dich - wie willst Du den Datumspunkt gerne genannt haben, habs gerade

                          a498de2b-c005-4bc3-b719-4c77930b7c04-image.png

                          forcastTime genannt - aber such Dir gerne was anderes aus, dann ändere ich das noch schnell in dem Flow.

                          Normalerweise darf da aber gar kein Datum drin stehen, sondern nur eine Zahl

                          66010d28-d04f-437c-8e6b-8b03b4f792cd-image.png

                          Ja klar. Ich habe die Rolle manuell auf DATE geändert. Dachte es wird dann direkt korrekt dargestellt. Als Rolle STATE steht dann das UNIX UTC Datum/Uhrzeit als Zahl drin.

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

                          @thomkast So wenn Du in Deinen bestehenden Flow noch folgende Nodes importierst, dann wird das um neue Datenpunkte mit ausgeschriebenem Datum ergänzt:

                          ba98d939-8405-4847-83d4-68001e535641-image.png

                          Dieses Mal kannst Du den Code direkt über die Zwischenablage importieren:

                          [
                             {
                                 "id": "4d65b9d.07b0148",
                                 "type": "ioBroker in",
                                 "z": "918d8a88.bb7cf8",
                                 "name": "",
                                 "topic": "0_userdata.0.openweather.hourly.*.dt",
                                 "payloadType": "value",
                                 "onlyack": "",
                                 "func": "all",
                                 "gap": "",
                                 "fireOnStart": "false",
                                 "x": 490,
                                 "y": 180,
                                 "wires": [
                                     [
                                         "2fb2b1d1.03df6e"
                                     ]
                                 ]
                             },
                             {
                                 "id": "2fb2b1d1.03df6e",
                                 "type": "change",
                                 "z": "918d8a88.bb7cf8",
                                 "name": "",
                                 "rules": [
                                     {
                                         "t": "change",
                                         "p": "topic",
                                         "pt": "msg",
                                         "from": "(.*)\\/dt",
                                         "fromt": "re",
                                         "to": "$1",
                                         "tot": "str"
                                     },
                                     {
                                         "t": "change",
                                         "p": "topic",
                                         "pt": "msg",
                                         "from": "/",
                                         "fromt": "str",
                                         "to": ".",
                                         "tot": "str"
                                     },
                                     {
                                         "t": "set",
                                         "p": "topic",
                                         "pt": "msg",
                                         "to": "topic & '.forcastTime'",
                                         "tot": "jsonata"
                                     }
                                 ],
                                 "action": "",
                                 "property": "",
                                 "from": "",
                                 "to": "",
                                 "reg": false,
                                 "x": 770,
                                 "y": 180,
                                 "wires": [
                                     [
                                         "a732a96b.a95798"
                                     ]
                                 ]
                             },
                             {
                                 "id": "a732a96b.a95798",
                                 "type": "change",
                                 "z": "918d8a88.bb7cf8",
                                 "name": "",
                                 "rules": [
                                     {
                                         "t": "set",
                                         "p": "payload",
                                         "pt": "msg",
                                         "to": "$moment((payload)*1000).locale(\"de\").tz('Europe/Berlin').format('DD.MM.YY [um] HH:mm')",
                                         "tot": "jsonata"
                                     }
                                 ],
                                 "action": "",
                                 "property": "",
                                 "from": "",
                                 "to": "",
                                 "reg": false,
                                 "x": 990,
                                 "y": 180,
                                 "wires": [
                                     [
                                         "5014a26.bf5065c"
                                     ]
                                 ]
                             },
                             {
                                 "id": "5014a26.bf5065c",
                                 "type": "ioBroker out",
                                 "z": "918d8a88.bb7cf8",
                                 "name": "",
                                 "topic": "",
                                 "ack": "true",
                                 "autoCreate": "true",
                                 "stateName": "",
                                 "role": "",
                                 "payloadType": "string",
                                 "readonly": "false",
                                 "stateUnit": "",
                                 "stateMin": "",
                                 "stateMax": "",
                                 "x": 1200,
                                 "y": 180,
                                 "wires": []
                             }
                          ]
                          

                          Dann bekommst Du die folgenden Nodes noch dazu:

                          659ab3ae-2b23-4f99-8eb9-3d8e458e5565-image.png

                          Eigentlich müsste es ja forecastTime heißen:

                          Musst halt hier nochmal ändern:

                          ddb5be3d-68ee-44d8-9343-fca5b0ad100b-image.png

                          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.

                          T 1 Antwort Letzte Antwort
                          0
                          • T ThomKast

                            @mickym sagte in Accuweather - stündliche Werte nicht komplett:

                            @thomkast Das ist gleich mein 2. Flow für Dich - wie willst Du den Datumspunkt gerne genannt haben, habs gerade

                            a498de2b-c005-4bc3-b719-4c77930b7c04-image.png

                            forcastTime genannt - aber such Dir gerne was anderes aus, dann ändere ich das noch schnell in dem Flow.

                            Normalerweise darf da aber gar kein Datum drin stehen, sondern nur eine Zahl

                            66010d28-d04f-437c-8e6b-8b03b4f792cd-image.png

                            Ja klar. Ich habe die Rolle manuell auf DATE geändert. Dachte es wird dann direkt korrekt dargestellt. Als Rolle STATE steht dann das UNIX UTC Datum/Uhrzeit als Zahl drin.

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

                            @thomkast So nun noch ein paar Ergänzungen - weil seit dem admin5 sich einiges geändert hat und in NodeRed hat man das bei den iobroker-out Nodes nicht mitberücksichtigt.

                            Bei den ganzen Ordnern fehlen leider die Objekte (rot markiert):

                            fc2212fb-098c-4f2c-a10b-87bd030e93d9-image.png

                            Deshalb bitte folgendes Skript im Javascript Adapter als Javascript importieren:

                            /**
                            * Zweck:       Korrigiert übergeordnete Ordnerstrukturen eines Datenpunkts
                            * Datum:      07.08.2021
                            * Autor:       @fastfoot
                            */
                             
                            //              In den Settings der Javascript-Instanz muss setObject erlaubt sein!!!
                             
                            let arr = [],
                               id = '';
                             
                            const ids = $('0_userdata.0.*');
                            ids.each(idTmp => {
                               arr=idTmp.split('.');
                               arr.splice(arr.length-1);
                               id=arr.join('.');
                               if(arr[0] === '0_userdata' || arr[0] === 'alias' || arr[0] === 'mqtt' || arr[0] === 'javascript'){
                                   correctObject(id, arr);
                               }
                            })
                             
                            function correctObject(id,arr){
                               if(arr.length === 2) return;
                               if(!existsObject(id)){
                                   let obj = {};
                                   obj = {
                                       type: 'folder',
                                       common:{
                                           name: arr[arr.length - 1]
                                       }
                                   }
                                   extendObject(id, obj, e => {
                                       if (e) log('Fehler beim Schreiben des Objektes: '+ id + ' ' + e);
                                   })
                               }
                               arr.splice(arr.length - 1);
                               id = arr.join('.');
                               correctObject(id, arr);
                            }
                            

                            Dieses Skript musst Du einmal Laufen lassen und immer dann - wenn Du mal den ganzen Openweather Ast löscht.

                            43effdba-1509-458c-954a-534a52bc4f8f-image.png

                            Sobald das Skript einmal gelaufen ist, dann sind das wieder saubere Folder Objekte:

                            5b04b5af-20b3-409e-beeb-a45a9d50a244-image.png

                            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.

                            1 Antwort Letzte Antwort
                            0
                            • mickymM mickym

                              @thomkast So wenn Du in Deinen bestehenden Flow noch folgende Nodes importierst, dann wird das um neue Datenpunkte mit ausgeschriebenem Datum ergänzt:

                              ba98d939-8405-4847-83d4-68001e535641-image.png

                              Dieses Mal kannst Du den Code direkt über die Zwischenablage importieren:

                              [
                                 {
                                     "id": "4d65b9d.07b0148",
                                     "type": "ioBroker in",
                                     "z": "918d8a88.bb7cf8",
                                     "name": "",
                                     "topic": "0_userdata.0.openweather.hourly.*.dt",
                                     "payloadType": "value",
                                     "onlyack": "",
                                     "func": "all",
                                     "gap": "",
                                     "fireOnStart": "false",
                                     "x": 490,
                                     "y": 180,
                                     "wires": [
                                         [
                                             "2fb2b1d1.03df6e"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "2fb2b1d1.03df6e",
                                     "type": "change",
                                     "z": "918d8a88.bb7cf8",
                                     "name": "",
                                     "rules": [
                                         {
                                             "t": "change",
                                             "p": "topic",
                                             "pt": "msg",
                                             "from": "(.*)\\/dt",
                                             "fromt": "re",
                                             "to": "$1",
                                             "tot": "str"
                                         },
                                         {
                                             "t": "change",
                                             "p": "topic",
                                             "pt": "msg",
                                             "from": "/",
                                             "fromt": "str",
                                             "to": ".",
                                             "tot": "str"
                                         },
                                         {
                                             "t": "set",
                                             "p": "topic",
                                             "pt": "msg",
                                             "to": "topic & '.forcastTime'",
                                             "tot": "jsonata"
                                         }
                                     ],
                                     "action": "",
                                     "property": "",
                                     "from": "",
                                     "to": "",
                                     "reg": false,
                                     "x": 770,
                                     "y": 180,
                                     "wires": [
                                         [
                                             "a732a96b.a95798"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "a732a96b.a95798",
                                     "type": "change",
                                     "z": "918d8a88.bb7cf8",
                                     "name": "",
                                     "rules": [
                                         {
                                             "t": "set",
                                             "p": "payload",
                                             "pt": "msg",
                                             "to": "$moment((payload)*1000).locale(\"de\").tz('Europe/Berlin').format('DD.MM.YY [um] HH:mm')",
                                             "tot": "jsonata"
                                         }
                                     ],
                                     "action": "",
                                     "property": "",
                                     "from": "",
                                     "to": "",
                                     "reg": false,
                                     "x": 990,
                                     "y": 180,
                                     "wires": [
                                         [
                                             "5014a26.bf5065c"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "5014a26.bf5065c",
                                     "type": "ioBroker out",
                                     "z": "918d8a88.bb7cf8",
                                     "name": "",
                                     "topic": "",
                                     "ack": "true",
                                     "autoCreate": "true",
                                     "stateName": "",
                                     "role": "",
                                     "payloadType": "string",
                                     "readonly": "false",
                                     "stateUnit": "",
                                     "stateMin": "",
                                     "stateMax": "",
                                     "x": 1200,
                                     "y": 180,
                                     "wires": []
                                 }
                              ]
                              

                              Dann bekommst Du die folgenden Nodes noch dazu:

                              659ab3ae-2b23-4f99-8eb9-3d8e458e5565-image.png

                              Eigentlich müsste es ja forecastTime heißen:

                              Musst halt hier nochmal ändern:

                              ddb5be3d-68ee-44d8-9343-fca5b0ad100b-image.png

                              T Offline
                              T Offline
                              ThomKast
                              schrieb am zuletzt editiert von
                              #23

                              @mickym
                              Also, Du machst mich vollends sprachlos....

                              Klappt perfekt und die Daten sehen gut aus. Damit kann ich erst mal meine weiteren Überlegungen anstellen.

                              Müsste jetzt nicht noch der inject per CRON automatisiert werden?
                              Hattest Du bei OW gelesen wie oft die Daten aktualisiert werden?

                              mickymM 1 Antwort Letzte Antwort
                              0
                              • T ThomKast

                                @mickym sagte in Accuweather - stündliche Werte nicht komplett:

                                @thomkast Das ist gleich mein 2. Flow für Dich - wie willst Du den Datumspunkt gerne genannt haben, habs gerade

                                a498de2b-c005-4bc3-b719-4c77930b7c04-image.png

                                forcastTime genannt - aber such Dir gerne was anderes aus, dann ändere ich das noch schnell in dem Flow.

                                Normalerweise darf da aber gar kein Datum drin stehen, sondern nur eine Zahl

                                66010d28-d04f-437c-8e6b-8b03b4f792cd-image.png

                                Ja klar. Ich habe die Rolle manuell auf DATE geändert. Dachte es wird dann direkt korrekt dargestellt. Als Rolle STATE steht dann das UNIX UTC Datum/Uhrzeit als Zahl drin.

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

                                @thomkast Und damit Du wenn alles klappt nicht immer auf die Inject - Node drücken musst - öffnest Du die Inject Node einfach und gibst unten an, in welchen Zeitintervallen die Openweather API aufgerufen werden soll:

                                69d62f01-9077-42ee-b9c9-7fb56d64a9c2-image.png

                                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.

                                T 1 Antwort Letzte Antwort
                                0
                                • T ThomKast

                                  @mickym
                                  Also, Du machst mich vollends sprachlos....

                                  Klappt perfekt und die Daten sehen gut aus. Damit kann ich erst mal meine weiteren Überlegungen anstellen.

                                  Müsste jetzt nicht noch der inject per CRON automatisiert werden?
                                  Hattest Du bei OW gelesen wie oft die Daten aktualisiert werden?

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

                                  @thomkast sagte in Accuweather - stündliche Werte nicht komplett:

                                  @mickym
                                  Also, Du machst mich vollends sprachlos....

                                  Klappt perfekt und die Daten sehen gut aus. Damit kann ich erst mal meine weiteren Überlegungen anstellen.

                                  Müsste jetzt nicht noch der inject per CRON automatisiert werden?
                                  Hattest Du bei OW gelesen wie oft die Daten aktualisiert werden?

                                  Hab ich Dir gerade geschrieben, in der Inject-Node kannst Du selbst das Intervall bestimmen, wie oft dieses automatisch abruft. Ich machs alle 10 Minuten - aber bei 1000 Aufrufen/Tag solltest Du nun keine Probleme mehr 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.

                                  1 Antwort Letzte Antwort
                                  0
                                  • mickymM mickym

                                    @thomkast Und damit Du wenn alles klappt nicht immer auf die Inject - Node drücken musst - öffnest Du die Inject Node einfach und gibst unten an, in welchen Zeitintervallen die Openweather API aufgerufen werden soll:

                                    69d62f01-9077-42ee-b9c9-7fb56d64a9c2-image.png

                                    T Offline
                                    T Offline
                                    ThomKast
                                    schrieb am zuletzt editiert von
                                    #26

                                    @mickym
                                    Oh cool! Sogar mit "Intervall zwischen Uhrzeiten".

                                    Vielleicht noch den eigentlichen UseCase zum Ende der Umsetzung :man-facepalming: ...

                                    Wir haben eine Wärmepumpe erhalten, die über SGready den Wasserspeicher um 5K überhitzen kann. Wenn also viel PV-Überschuss zur Verfügung steht, kann der Speicher zusätzlich aufgeheizt werden und damit bei späterer Nutzung Energie gespart werden.
                                    Das Problem ist nur, wenn ich vom reinen Einspeisewert ausgehe, dann kommt es vor, dass die Einspeisemenge einbricht, die Wärmepumpe aber dennoch mind. 10 Minuten läuft und und für diese Dauer dann Strom zugekauft werden muss.
                                    Sofern die OpenWeather-UVindex-Werte einigermaßen passen, könnte erst ab einem entsprechend hohen Wert das SGready-Signal Verwendung finden.

                                    Vielleicht hilft Deine Umsetzung ja auch noch anderen der Community. Mir hast Du auf alle perfekt weitergeholfen.
                                    Schaue mir die Tage mal node-red und Deine Umsetzung tiefer an. Dann würde ich mich vielleicht gerne noch mal bei Dir melden.

                                    Für heute meinen herzlichen Dank für Deine Hilfe. :fireworks:

                                    mickymM 2 Antworten Letzte Antwort
                                    0
                                    • T ThomKast

                                      @mickym
                                      Oh cool! Sogar mit "Intervall zwischen Uhrzeiten".

                                      Vielleicht noch den eigentlichen UseCase zum Ende der Umsetzung :man-facepalming: ...

                                      Wir haben eine Wärmepumpe erhalten, die über SGready den Wasserspeicher um 5K überhitzen kann. Wenn also viel PV-Überschuss zur Verfügung steht, kann der Speicher zusätzlich aufgeheizt werden und damit bei späterer Nutzung Energie gespart werden.
                                      Das Problem ist nur, wenn ich vom reinen Einspeisewert ausgehe, dann kommt es vor, dass die Einspeisemenge einbricht, die Wärmepumpe aber dennoch mind. 10 Minuten läuft und und für diese Dauer dann Strom zugekauft werden muss.
                                      Sofern die OpenWeather-UVindex-Werte einigermaßen passen, könnte erst ab einem entsprechend hohen Wert das SGready-Signal Verwendung finden.

                                      Vielleicht hilft Deine Umsetzung ja auch noch anderen der Community. Mir hast Du auf alle perfekt weitergeholfen.
                                      Schaue mir die Tage mal node-red und Deine Umsetzung tiefer an. Dann würde ich mich vielleicht gerne noch mal bei Dir melden.

                                      Für heute meinen herzlichen Dank für Deine Hilfe. :fireworks:

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

                                      @thomkast sagte in Accuweather - stündliche Werte nicht komplett:

                                      Vielleicht hilft Deine Umsetzung ja auch noch anderen der Community. Mir hast Du auf alle perfekt weitergeholfen.
                                      Schaue mir die Tage mal node-red und Deine Umsetzung tiefer an. Dann würde ich mich vielleicht gerne noch mal bei Dir melden.

                                      Für heute meinen herzlichen Dank für Deine Hilfe. :fireworks:

                                      Ich hab Dir gerne weitergeholfen und vielleicht bist Du nun jemand (oder wirst es), der erkennt, was für ein tolles Tool Node Red ist, gerade wenn man in der Programmierung nicht so bewandert ist, sondern sich mehr auf die Logik konzentriert. Übrigens hilft Dir vielleicht auch der Clouds Wert - also der Bedeckungsgrad.

                                      Ich nutz den bei meiner Visualisierung bei Tag hellblauer oder grauer Hintergrund. ;)

                                      36a1a500-5504-46f8-91fa-f4e4e11bbef7-image.png

                                      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.

                                      1 Antwort Letzte Antwort
                                      0
                                      • T ThomKast

                                        @mickym
                                        Oh cool! Sogar mit "Intervall zwischen Uhrzeiten".

                                        Vielleicht noch den eigentlichen UseCase zum Ende der Umsetzung :man-facepalming: ...

                                        Wir haben eine Wärmepumpe erhalten, die über SGready den Wasserspeicher um 5K überhitzen kann. Wenn also viel PV-Überschuss zur Verfügung steht, kann der Speicher zusätzlich aufgeheizt werden und damit bei späterer Nutzung Energie gespart werden.
                                        Das Problem ist nur, wenn ich vom reinen Einspeisewert ausgehe, dann kommt es vor, dass die Einspeisemenge einbricht, die Wärmepumpe aber dennoch mind. 10 Minuten läuft und und für diese Dauer dann Strom zugekauft werden muss.
                                        Sofern die OpenWeather-UVindex-Werte einigermaßen passen, könnte erst ab einem entsprechend hohen Wert das SGready-Signal Verwendung finden.

                                        Vielleicht hilft Deine Umsetzung ja auch noch anderen der Community. Mir hast Du auf alle perfekt weitergeholfen.
                                        Schaue mir die Tage mal node-red und Deine Umsetzung tiefer an. Dann würde ich mich vielleicht gerne noch mal bei Dir melden.

                                        Für heute meinen herzlichen Dank für Deine Hilfe. :fireworks:

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

                                        @thomkast Ich hab noch bissi nachgedacht - bei uns ist leider nicht so schönes Wetter in nächster Zeit.

                                        Ich habe mal mit folgendem Flow - in der 3 Tagesvorhersage rausgefiltert, ab wann der UV Index über 1 ist - den Wert kann man natürlich dann später viel höher setzen

                                        Mit dem folgenden Flow filterst Du die Zeiten dann aus:

                                        28af1e07-700c-46df-b90a-3ba4fab30439-image.png

                                        [
                                           {
                                               "id": "2920aadc.0badc6",
                                               "type": "ioBroker in",
                                               "z": "40d29c16.113a14",
                                               "name": "",
                                               "topic": "0_userdata.0.openweather.hourly.*.uvi",
                                               "payloadType": "value",
                                               "onlyack": "",
                                               "func": "all",
                                               "gap": "",
                                               "fireOnStart": "false",
                                               "x": 190,
                                               "y": 320,
                                               "wires": [
                                                   [
                                                       "111ae666.75877a"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "111ae666.75877a",
                                               "type": "change",
                                               "z": "40d29c16.113a14",
                                               "name": "Prepare Topic & setze msg.uvi",
                                               "rules": [
                                                   {
                                                       "t": "change",
                                                       "p": "topic",
                                                       "pt": "msg",
                                                       "from": "(.*)\\/uvi",
                                                       "fromt": "re",
                                                       "to": "$1",
                                                       "tot": "str"
                                                   },
                                                   {
                                                       "t": "change",
                                                       "p": "topic",
                                                       "pt": "msg",
                                                       "from": "/",
                                                       "fromt": "str",
                                                       "to": ".",
                                                       "tot": "str"
                                                   },
                                                   {
                                                       "t": "set",
                                                       "p": "topic",
                                                       "pt": "msg",
                                                       "to": "topic & '.forcastTime'",
                                                       "tot": "jsonata"
                                                   },
                                                   {
                                                       "t": "move",
                                                       "p": "payload",
                                                       "pt": "msg",
                                                       "to": "uvi",
                                                       "tot": "msg"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 510,
                                               "y": 320,
                                               "wires": [
                                                   [
                                                       "becb8167.7d6bd"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "becb8167.7d6bd",
                                               "type": "switch",
                                               "z": "40d29c16.113a14",
                                               "name": "Filter UVI",
                                               "property": "uvi",
                                               "propertyType": "msg",
                                               "rules": [
                                                   {
                                                       "t": "gt",
                                                       "v": "1",
                                                       "vt": "num"
                                                   }
                                               ],
                                               "checkall": "true",
                                               "repair": false,
                                               "outputs": 1,
                                               "x": 740,
                                               "y": 320,
                                               "wires": [
                                                   [
                                                       "746d1820.319268"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "9b0fa59a.28c568",
                                               "type": "debug",
                                               "z": "40d29c16.113a14",
                                               "name": "",
                                               "active": true,
                                               "tosidebar": true,
                                               "console": false,
                                               "tostatus": false,
                                               "complete": "true",
                                               "targetType": "full",
                                               "statusVal": "",
                                               "statusType": "auto",
                                               "x": 1310,
                                               "y": 380,
                                               "wires": []
                                           },
                                           {
                                               "id": "746d1820.319268",
                                               "type": "ioBroker get",
                                               "z": "40d29c16.113a14",
                                               "name": "",
                                               "topic": "",
                                               "attrname": "forecastTime",
                                               "payloadType": "value",
                                               "x": 920,
                                               "y": 320,
                                               "wires": [
                                                   [
                                                       "b380af18.9c4b6"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "b380af18.9c4b6",
                                               "type": "change",
                                               "z": "40d29c16.113a14",
                                               "name": "Lösche nicht benötigte Eigenschaften",
                                               "rules": [
                                                   {
                                                       "t": "delete",
                                                       "p": "acknowledged",
                                                       "pt": "msg"
                                                   },
                                                   {
                                                       "t": "delete",
                                                       "p": "timestamp",
                                                       "pt": "msg"
                                                   },
                                                   {
                                                       "t": "delete",
                                                       "p": "lastchange",
                                                       "pt": "msg"
                                                   },
                                                   {
                                                       "t": "delete",
                                                       "p": "from",
                                                       "pt": "msg"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 1170,
                                               "y": 320,
                                               "wires": [
                                                   [
                                                       "9b0fa59a.28c568"
                                                   ]
                                               ]
                                           }
                                        ]
                                        

                                        Die Debug Node spukt Dir dann den UVI Index aus und wann das ist. Du wirst den Wert zum herausfiltern natürlich viel höher machen - aber das wird wohl auch alles erst bei besserem Wetter relevant sein.

                                        04946a01-f6b6-45ea-9bc8-3947dc8536e6-image.png

                                        Die Indexnr. (also Ordnernummer) verschiebt sich ja, da das zurückgelieferte Array ja immer in Stundenabstand vom aktuellen Abrufzeitpunkt abhängt.

                                        Andererseits ist das aber auch Praktisch - weil im Ordner 0 immer der ForeCast der aktuellen Stunde enthalten ist und in Ordner 1 der in einer Stunde, sodass man auch ohne Filter eigentlich nur diese beiden Werte braucht um direkt eine Steuerung anzustossen.

                                        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.

                                        T 1 Antwort Letzte Antwort
                                        0
                                        • mickymM mickym

                                          @thomkast Ich hab noch bissi nachgedacht - bei uns ist leider nicht so schönes Wetter in nächster Zeit.

                                          Ich habe mal mit folgendem Flow - in der 3 Tagesvorhersage rausgefiltert, ab wann der UV Index über 1 ist - den Wert kann man natürlich dann später viel höher setzen

                                          Mit dem folgenden Flow filterst Du die Zeiten dann aus:

                                          28af1e07-700c-46df-b90a-3ba4fab30439-image.png

                                          [
                                             {
                                                 "id": "2920aadc.0badc6",
                                                 "type": "ioBroker in",
                                                 "z": "40d29c16.113a14",
                                                 "name": "",
                                                 "topic": "0_userdata.0.openweather.hourly.*.uvi",
                                                 "payloadType": "value",
                                                 "onlyack": "",
                                                 "func": "all",
                                                 "gap": "",
                                                 "fireOnStart": "false",
                                                 "x": 190,
                                                 "y": 320,
                                                 "wires": [
                                                     [
                                                         "111ae666.75877a"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "111ae666.75877a",
                                                 "type": "change",
                                                 "z": "40d29c16.113a14",
                                                 "name": "Prepare Topic & setze msg.uvi",
                                                 "rules": [
                                                     {
                                                         "t": "change",
                                                         "p": "topic",
                                                         "pt": "msg",
                                                         "from": "(.*)\\/uvi",
                                                         "fromt": "re",
                                                         "to": "$1",
                                                         "tot": "str"
                                                     },
                                                     {
                                                         "t": "change",
                                                         "p": "topic",
                                                         "pt": "msg",
                                                         "from": "/",
                                                         "fromt": "str",
                                                         "to": ".",
                                                         "tot": "str"
                                                     },
                                                     {
                                                         "t": "set",
                                                         "p": "topic",
                                                         "pt": "msg",
                                                         "to": "topic & '.forcastTime'",
                                                         "tot": "jsonata"
                                                     },
                                                     {
                                                         "t": "move",
                                                         "p": "payload",
                                                         "pt": "msg",
                                                         "to": "uvi",
                                                         "tot": "msg"
                                                     }
                                                 ],
                                                 "action": "",
                                                 "property": "",
                                                 "from": "",
                                                 "to": "",
                                                 "reg": false,
                                                 "x": 510,
                                                 "y": 320,
                                                 "wires": [
                                                     [
                                                         "becb8167.7d6bd"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "becb8167.7d6bd",
                                                 "type": "switch",
                                                 "z": "40d29c16.113a14",
                                                 "name": "Filter UVI",
                                                 "property": "uvi",
                                                 "propertyType": "msg",
                                                 "rules": [
                                                     {
                                                         "t": "gt",
                                                         "v": "1",
                                                         "vt": "num"
                                                     }
                                                 ],
                                                 "checkall": "true",
                                                 "repair": false,
                                                 "outputs": 1,
                                                 "x": 740,
                                                 "y": 320,
                                                 "wires": [
                                                     [
                                                         "746d1820.319268"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "9b0fa59a.28c568",
                                                 "type": "debug",
                                                 "z": "40d29c16.113a14",
                                                 "name": "",
                                                 "active": true,
                                                 "tosidebar": true,
                                                 "console": false,
                                                 "tostatus": false,
                                                 "complete": "true",
                                                 "targetType": "full",
                                                 "statusVal": "",
                                                 "statusType": "auto",
                                                 "x": 1310,
                                                 "y": 380,
                                                 "wires": []
                                             },
                                             {
                                                 "id": "746d1820.319268",
                                                 "type": "ioBroker get",
                                                 "z": "40d29c16.113a14",
                                                 "name": "",
                                                 "topic": "",
                                                 "attrname": "forecastTime",
                                                 "payloadType": "value",
                                                 "x": 920,
                                                 "y": 320,
                                                 "wires": [
                                                     [
                                                         "b380af18.9c4b6"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "b380af18.9c4b6",
                                                 "type": "change",
                                                 "z": "40d29c16.113a14",
                                                 "name": "Lösche nicht benötigte Eigenschaften",
                                                 "rules": [
                                                     {
                                                         "t": "delete",
                                                         "p": "acknowledged",
                                                         "pt": "msg"
                                                     },
                                                     {
                                                         "t": "delete",
                                                         "p": "timestamp",
                                                         "pt": "msg"
                                                     },
                                                     {
                                                         "t": "delete",
                                                         "p": "lastchange",
                                                         "pt": "msg"
                                                     },
                                                     {
                                                         "t": "delete",
                                                         "p": "from",
                                                         "pt": "msg"
                                                     }
                                                 ],
                                                 "action": "",
                                                 "property": "",
                                                 "from": "",
                                                 "to": "",
                                                 "reg": false,
                                                 "x": 1170,
                                                 "y": 320,
                                                 "wires": [
                                                     [
                                                         "9b0fa59a.28c568"
                                                     ]
                                                 ]
                                             }
                                          ]
                                          

                                          Die Debug Node spukt Dir dann den UVI Index aus und wann das ist. Du wirst den Wert zum herausfiltern natürlich viel höher machen - aber das wird wohl auch alles erst bei besserem Wetter relevant sein.

                                          04946a01-f6b6-45ea-9bc8-3947dc8536e6-image.png

                                          Die Indexnr. (also Ordnernummer) verschiebt sich ja, da das zurückgelieferte Array ja immer in Stundenabstand vom aktuellen Abrufzeitpunkt abhängt.

                                          Andererseits ist das aber auch Praktisch - weil im Ordner 0 immer der ForeCast der aktuellen Stunde enthalten ist und in Ordner 1 der in einer Stunde, sodass man auch ohne Filter eigentlich nur diese beiden Werte braucht um direkt eine Steuerung anzustossen.

                                          T Offline
                                          T Offline
                                          ThomKast
                                          schrieb am zuletzt editiert von
                                          #29

                                          @mickym
                                          Verstehe ich dank Deiner Beschreibung. In den Nodes muss ich mir das in Ruhe anarbeiten...

                                          Für die Ansteuerung des SGready-Relais werde ich die UVindex-Werte aus 0h und 1h verwenden, also ähnlich wie in Deinem Ansatz. Da die Wärmepumpe nach einem Start mindestens 10 Minuten läuft und im Standardbetrieb ~ 2.8 kW zieht, macht es mMn. Sinn folgende Logik näher zu betrachten:

                                          • Wenn Minuten (akt.Zeit) zwischen 0 und 45 -> prüfe UVi-Schwellwert gegen UVi von 0h
                                          • Wenn Minuten (akt.Zeit) zwischen 46 und 59 -> prüfe UVi-Schwellwert gegen Mittelwert UVi von 0h und 1h
                                          • zum Zeitpunkt der Ermittlung des UVi-Schwellwerts, müsste dann der Wert der PV-Einspeisung >= 3.0 kW sein (PV-Schwellwert)
                                          • Wenn beides eingetreten ist, dann ist das SGready-Relais zu aktivieren
                                          • Sobald entweder UVi oder PV-Einspeisung unter den jeweiligen Schwellwert fällt, ist das SGready-Relais zu deaktivieren

                                          Um diese Logik zu prüfen werde ich die Werte in grafana darstellen. Mal schauen, ob sich ein sinnvoller UVi-Schwellwert finden lässt.

                                          Wobei, noch eine Anmerkung: So wie ich es verstanden habe, ist der UVindex als 100'stel dargestellt und dürfte nie größer 1 werden. "0.15" würde damit 15% der maximal möglichen Sonneneinstrahlung entsprechen.
                                          Da die Werte "UVindex" und "Clouds" in grafana den Werten der PV-Produktion gegenübergestellt werden sollen, wäre es nötig die beiden Werte zu vereinheitlich. Denn "Clouds" wiederum läuft von "0" bis "100" und stellt die Bewölkung direkt in "%" dar. Diese Anpassung führe ich dann in grafana herbei.

                                          Muss mal über mehrere Tage die Daten sammeln und betrachten. Melde mich dann gerne wieder mit einem ersten Eindruck.

                                          Du bist doch Profi im Forum ;-). Macht es Sinn, die weiteren Details in diesem Post fortzuführen, oder sollte der Post thematisch in einer anderen Gruppe/Kategorie geführt werden ??.??

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          578

                                          Online

                                          32.5k

                                          Benutzer

                                          81.8k

                                          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