Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [Gelöst] Probleme bei Abfrage über Zeit

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    769

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    18
    1
    6.2k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.5k

[Gelöst] Probleme bei Abfrage über Zeit

Scheduled Pinned Locked Moved Skripten / Logik
4 Posts 2 Posters 593 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T Offline
    T Offline
    tomdeboom
    wrote on last edited by
    #1

    Hi,

    ich habe da mal eine etwas komplexere Frage:

    Ich möchte gerne mehrer State von daswetter/hourly abfragen, siehe scripts weiter unten.

    Nun ist mein Problem das ich folgende Zeiten abfragen möchte:

    Jetzt

    In einer Stunde

    In zwei Stunden

    In 3 Stunden

    Und in 4 Stunden

    Das ganze funktioniert auch bis 20 Uhr, aber ab 21 Uhr nicht mehr richtig… 21+4 = 25 Uhr...

    deswegen dachte ich, baue ich einen zweite crone ein und verweise auf den nächsten Tag, aber das funktioniert auch nicht.

    Irgendwie habe ich jetzt einen Knoten im Kopf...

    Kann mir jemand helfen?

    Kann man die 5 scripte auch irgendwie zusammenfassen?

    Hier die scripte:

    +0

    ! const start = 'daswetter.0.hourly.0d.';
    ! const end = 'h.Temperature';
    ! const end1 = 'h.SymbolID';
    ! const end2 = 'h.Rain';
    ! const end3 = 'h.hour';
    ! const end4 = 'h.Symbol';
    ! const end5 = 'h.Wind';
    ! const end6 = 'h.WindGusts';
    ! const end7 = 'h.Humidity';
    ! const end8 = 'h.Pressure';
    ! const end9 = 'h.Windchill';
    ! createState('javascript.0.Wetter.Plus0h.Temp_akt', 0, {type: 'number', unit: '°C'});
    ! createState('javascript.0.Wetter.Plus0h.SymbolID_akt', 0, {type: 'number', unit: ''});
    ! createState('javascript.0.Wetter.Plus0h.Regen_akt', 0, {type: 'number', unit: 'mm'});
    ! createState('javascript.0.Wetter.Plus0h.hour_akt', 0, {type: 'number'});
    ! createState('javascript.0.Wetter.Plus0h.symbol_akt', 0, {type: 'string'});
    ! createState('javascript.0.Wetter.Plus0h.Wind_akt', 0, {type: 'number', unit: 'kph'});
    ! createState('javascript.0.Wetter.Plus0h.WindGusts_akt', 0, {type: 'number', unit: 'kph'});
    ! createState('javascript.0.Wetter.Plus0h.Humidity_akt', 0, {type: 'number', unit: '%'});
    ! createState('javascript.0.Wetter.Plus0h.Pressure_akt', 0, {type: 'number', unit: 'mb'});
    ! createState('javascript.0.Wetter.Plus0h.Windchill_akt', 0, {type: 'number', unit: '°C'});
    ! function temp() {
    ! var hour = new Date().getHours();
    ! setState('javascript.0.Wetter.Plus0h.Temp_akt', parseFloat(getState(start + hour + end).val), true);
    ! setState('javascript.0.Wetter.Plus0h.SymbolID_akt', parseFloat(getState(start + hour + end1).val), true);
    ! setState('javascript.0.Wetter.Plus0h.Regen_akt', parseFloat(getState(start + hour + end2).val), true);
    ! setState('javascript.0.Wetter.Plus0h.hour_akt', parseFloat(getState(start + hour + end3).val), true);
    ! setState('javascript.0.Wetter.Plus0h.symbol_akt', getState(start + hour + end4).val, true);
    ! setState('javascript.0.Wetter.Plus0h.Wind_akt', parseFloat(getState(start + hour + end5).val), true);
    ! setState('javascript.0.Wetter.Plus0h.WindGusts_akt', parseFloat(getState(start + hour + end6).val), true);
    ! setState('javascript.0.Wetter.Plus0h.Humidity_akt', parseFloat(getState(start + hour + end7).val), true);
    ! setState('javascript.0.Wetter.Plus0h.Pressure_akt', parseFloat(getState(start + hour + end8).val), true);
    ! setState('javascript.0.Wetter.Plus0h.Windchill_akt', parseFloat(getState(start + hour + end9).val), true);
    ! }
    ! schedule('1 * * * *', temp);
    +1h

    ! const start = 'daswetter.0.hourly.0d.';
    ! const start2 = 'daswetter.0.hourly.1d.';
    ! const end = 'h.Temperature';
    ! const end1 = 'h.SymbolID';
    ! const end2 = 'h.Rain';
    ! const end3 = 'h.hour';
    ! const end4 = 'h.Symbol';
    ! const end5 = 'h.Wind';
    ! const end6 = 'h.WindGusts';
    ! const end7 = 'h.Humidity';
    ! const end8 = 'h.Pressure';
    ! const end9 = 'h.Windchill';
    ! createState('javascript.0.Wetter.Plus1h.Temp_akt', 0, {type: 'number', unit: '°C'});
    ! createState('javascript.0.Wetter.Plus1h.SymbolID_akt', 0, {type: 'number', unit: ''});
    ! createState('javascript.0.Wetter.Plus1h.Regen_akt', 0, {type: 'number', unit: 'mm'});
    ! createState('javascript.0.Wetter.Plus1h.hour_akt', 0, {type: 'number'});
    ! createState('javascript.0.Wetter.Plus1h.symbol_akt', 0, {type: 'string'});
    ! createState('javascript.0.Wetter.Plus1h.Wind_akt', 0, {type: 'number', unit: 'kph'});
    ! createState('javascript.0.Wetter.Plus1h.WindGusts_akt', 0, {type: 'number', unit: 'kph'});
    ! createState('javascript.0.Wetter.Plus1h.Humidity_akt', 0, {type: 'number', unit: '%'});
    ! createState('javascript.0.Wetter.Plus1h.Pressure_akt', 0, {type: 'number', unit: 'mb'});
    ! createState('javascript.0.Wetter.Plus1h.Windchill_akt', 0, {type: 'number', unit: '°C'});
    ! function temp() {
    ! var hour = (new Date().getHours() + 1);
    ! setState('javascript.0.Wetter.Plus1h.Temp_akt', parseFloat(getState(start + hour + end).val), true);
    ! setState('javascript.0.Wetter.Plus1h.SymbolID_akt', parseFloat(getState(start + hour + end1).val), true);
    ! setState('javascript.0.Wetter.Plus1h.Regen_akt', parseFloat(getState(start + hour + end2).val), true);
    ! setState('javascript.0.Wetter.Plus1h.hour_akt', parseFloat(getState(start + hour + end3).val), true);
    ! setState('javascript.0.Wetter.Plus1h.symbol_akt', getState(start + hour + end4).val, true);
    ! setState('javascript.0.Wetter.Plus1h.Wind_akt', parseFloat(getState(start + hour + end5).val), true);
    ! setState('javascript.0.Wetter.Plus1h.WindGusts_akt', parseFloat(getState(start + hour + end6).val), true);
    ! setState('javascript.0.Wetter.Plus1h.Humidity_akt', parseFloat(getState(start + hour + end7).val), true);
    ! setState('javascript.0.Wetter.Plus1h.Pressure_akt', parseFloat(getState(start + hour + end8).val), true);
    ! setState('javascript.0.Wetter.Plus1h.Windchill_akt', parseFloat(getState(start + hour + end9).val), true);
    ! }
    ! function tempo() {
    ! var hour = (new Date().getHours() + 1);
    ! setState('javascript.0.Wetter.Plus1h.Temp_akt', parseFloat(getState(start2 + hour + end).val), true);
    ! setState('javascript.0.Wetter.Plus1h.SymbolID_akt', parseFloat(getState(start2 + hour + end1).val), true);
    ! setState('javascript.0.Wetter.Plus1h.Regen_akt', parseFloat(getState(start2 + hour + end2).val), true);
    ! setState('javascript.0.Wetter.Plus1h.hour_akt', parseFloat(getState(start2 + hour + end3).val), true);
    ! setState('javascript.0.Wetter.Plus1h.symbol_akt', getState(start2 + hour + end4).val, true);
    ! setState('javascript.0.Wetter.Plus1h.Wind_akt', parseFloat(getState(start2 + hour + end5).val), true);
    ! setState('javascript.0.Wetter.Plus1h.WindGusts_akt', parseFloat(getState(start2 + hour + end6).val), true);
    ! setState('javascript.0.Wetter.Plus1h.Humidity_akt', parseFloat(getState(start2 + hour + end7).val), true);
    ! setState('javascript.0.Wetter.Plus1h.Pressure_akt', parseFloat(getState(start2 + hour + end8).val), true);
    ! setState('javascript.0.Wetter.Plus1h.Windchill_akt', parseFloat(getState(start2 + hour + end9).val), true);
    ! }
    ! schedule('1 0-22 * * *', temp);
    ! schedule('1 23 * * *', tempo);
    +2h

    ! const start = 'daswetter.0.hourly.0d.';
    ! const start2 = 'daswetter.0.hourly.1d.';
    ! const end = 'h.Temperature';
    ! const end1 = 'h.SymbolID';
    ! const end2 = 'h.Rain';
    ! const end3 = 'h.hour';
    ! const end4 = 'h.Symbol';
    ! const end5 = 'h.Wind';
    ! const end6 = 'h.WindGusts';
    ! const end7 = 'h.Humidity';
    ! const end8 = 'h.Pressure';
    ! const end9 = 'h.Windchill';
    ! createState('javascript.0.Wetter.Plus2h.Temp_akt', 0, {type: 'number', unit: '°C'});
    ! createState('javascript.0.Wetter.Plus2h.symbolID_akt', 0, {type: 'number', unit: ''});
    ! createState('javascript.0.Wetter.Plus2h.Regen_akt', 0, {type: 'number', unit: 'mm'});
    ! createState('javascript.0.Wetter.Plus2h.hour_akt', 0, {type: 'number'});
    ! createState('javascript.0.Wetter.Plus2h.symbol_akt', 0, {type: 'string'});
    ! createState('javascript.0.Wetter.Plus2h.Wind_akt', 0, {type: 'number', unit: 'kph'});
    ! createState('javascript.0.Wetter.Plus2h.WindGusts_akt', 0, {type: 'number', unit: 'kph'});
    ! createState('javascript.0.Wetter.Plus2h.Humidity_akt', 0, {type: 'number', unit: '%'});
    ! createState('javascript.0.Wetter.Plus2h.Pressure_akt', 0, {type: 'number', unit: 'mb'});
    ! createState('javascript.0.Wetter.Plus2h.Windchill_akt', 0, {type: 'number', unit: '°C'});
    ! function temp() {
    ! var hour = (new Date().getHours() + 2);
    ! setState('javascript.0.Wetter.Plus2h.Temp_akt', parseFloat(getState(start + hour + end).val), true);
    ! setState('javascript.0.Wetter.Plus2h.SymbolID_akt', parseFloat(getState(start + hour + end1).val), true);
    ! setState('javascript.0.Wetter.Plus2h.Regen_akt', parseFloat(getState(start + hour + end2).val), true);
    ! setState('javascript.0.Wetter.Plus2h.hour_akt', parseFloat(getState(start + hour + end3).val), true);
    ! setState('javascript.0.Wetter.Plus2h.symbol_akt', getState(start + hour + end4).val, true);
    ! setState('javascript.0.Wetter.Plus2h.Wind_akt', parseFloat(getState(start + hour + end5).val), true);
    ! setState('javascript.0.Wetter.Plus2h.WindGusts_akt', parseFloat(getState(start + hour + end6).val), true);
    ! setState('javascript.0.Wetter.Plus2h.Humidity_akt', parseFloat(getState(start + hour + end7).val), true);
    ! setState('javascript.0.Wetter.Plus2h.Pressure_akt', parseFloat(getState(start + hour + end8).val), true);
    ! setState('javascript.0.Wetter.Plus2h.Windchill_akt', parseFloat(getState(start + hour + end9).val), true);
    ! }
    ! function tempo() {
    ! var hour = (new Date().getHours() + 2);
    ! setState('javascript.0.Wetter.Plus2h.Temp_akt', parseFloat(getState(start2 + hour + end).val), true);
    ! setState('javascript.0.Wetter.Plus2h.SymbolID_akt', parseFloat(getState(start2 + hour + end1).val), true);
    ! setState('javascript.0.Wetter.Plus2h.Regen_akt', parseFloat(getState(start2 + hour + end2).val), true);
    ! setState('javascript.0.Wetter.Plus2h.hour_akt', parseFloat(getState(start2 + hour + end3).val), true);
    ! setState('javascript.0.Wetter.Plus2h.symbol_akt', getState(start2 + hour + end4).val, true);
    ! setState('javascript.0.Wetter.Plus2h.Wind_akt', parseFloat(getState(start2 + hour + end5).val), true);
    ! setState('javascript.0.Wetter.Plus2h.WindGusts_akt', parseFloat(getState(start2 + hour + end6).val), true);
    ! setState('javascript.0.Wetter.Plus2h.Humidity_akt', parseFloat(getState(start2 + hour + end7).val), true);
    ! setState('javascript.0.Wetter.Plus2h.Pressure_akt', parseFloat(getState(start2 + hour + end8).val), true);
    ! setState('javascript.0.Wetter.Plus2h.Windchill_akt', parseFloat(getState(start2 + hour + end9).val), true);
    ! }
    ! schedule('1 0-21 * * *', temp);
    ! schedule('1 22-23 * * *', tempo);
    +3h

    ! const start = 'daswetter.0.hourly.0d.';
    ! const start2 = 'daswetter.0.hourly.1d.';
    ! const end = 'h.Temperature';
    ! const end1 = 'h.SymbolID';
    ! const end2 = 'h.Rain';
    ! const end3 = 'h.hour';
    ! const end4 = 'h.Symbol';
    ! const end5 = 'h.Wind';
    ! const end6 = 'h.WindGusts';
    ! const end7 = 'h.Humidity';
    ! const end8 = 'h.Pressure';
    ! const end9 = 'h.Windchill';
    ! createState('javascript.0.Wetter.Plus3h.Temp_akt', 0, {type: 'number', unit: '°C'});
    ! createState('javascript.0.Wetter.Plus3h.SymbolID_akt', 0, {type: 'number', unit: ''});
    ! createState('javascript.0.Wetter.Plus3h.Regen_akt', 0, {type: 'number', unit: 'mm'});
    ! createState('javascript.0.Wetter.Plus3h.hour_akt', 0, {type: 'number'});
    ! createState('javascript.0.Wetter.Plus3h.symbol_akt', 0, {type: 'string'});
    ! createState('javascript.0.Wetter.Plus3h.Wind_akt', 0, {type: 'number', unit: 'kph'});
    ! createState('javascript.0.Wetter.Plus3h.WindGusts_akt', 0, {type: 'number', unit: 'kph'});
    ! createState('javascript.0.Wetter.Plus3h.Humidity_akt', 0, {type: 'number', unit: '%'});
    ! createState('javascript.0.Wetter.Plus3h.Pressure_akt', 0, {type: 'number', unit: 'mb'});
    ! createState('javascript.0.Wetter.Plus3h.Windchill_akt', 0, {type: 'number', unit: '°C'});
    ! function temp() {
    ! var hour = (new Date().getHours() + 3);
    ! setState('javascript.0.Wetter.Plus3h.Temp_akt', parseFloat(getState(start + hour + end).val), true);
    ! setState('javascript.0.Wetter.Plus3h.SymbolID_akt', parseFloat(getState(start + hour + end1).val), true);
    ! setState('javascript.0.Wetter.Plus3h.Regen_akt', parseFloat(getState(start + hour + end2).val), true);
    ! setState('javascript.0.Wetter.Plus3h.hour_akt', parseFloat(getState(start + hour + end3).val), true);
    ! setState('javascript.0.Wetter.Plus3h.symbol_akt', getState(start + hour + end4).val, true);
    ! setState('javascript.0.Wetter.Plus3h.Wind_akt', parseFloat(getState(start + hour + end5).val), true);
    ! setState('javascript.0.Wetter.Plus3h.WindGusts_akt', parseFloat(getState(start + hour + end6).val), true);
    ! setState('javascript.0.Wetter.Plus3h.Humidity_akt', parseFloat(getState(start + hour + end7).val), true);
    ! setState('javascript.0.Wetter.Plus3h.Pressure_akt', parseFloat(getState(start + hour + end8).val), true);
    ! setState('javascript.0.Wetter.Plus3h.Windchill_akt', parseFloat(getState(start + hour + end9).val), true);
    ! }
    ! function tempo() {
    ! var hour = (new Date().getHours() + 3);
    ! setState('javascript.0.Wetter.Plus3h.Temp_akt', parseFloat(getState(start2 + hour + end).val), true);
    ! setState('javascript.0.Wetter.Plus3h.SymbolID_akt', parseFloat(getState(start2 + hour + end1).val), true);
    ! setState('javascript.0.Wetter.Plus3h.Regen_akt', parseFloat(getState(start2 + hour + end2).val), true);
    ! setState('javascript.0.Wetter.Plus3h.hour_akt', parseFloat(getState(start2 + hour + end3).val), true);
    ! setState('javascript.0.Wetter.Plus3h.symbol_akt', getState(start2 + hour + end4).val, true);
    ! setState('javascript.0.Wetter.Plus3h.Wind_akt', parseFloat(getState(start2 + hour + end5).val), true);
    ! setState('javascript.0.Wetter.Plus3h.WindGusts_akt', parseFloat(getState(start2 + hour + end6).val), true);
    ! setState('javascript.0.Wetter.Plus3h.Humidity_akt', parseFloat(getState(start2 + hour + end7).val), true);
    ! setState('javascript.0.Wetter.Plus3h.Pressure_akt', parseFloat(getState(start2 + hour + end8).val), true);
    ! setState('javascript.0.Wetter.Plus3h.Windchill_akt', parseFloat(getState(start2 + hour + end9).val), true);
    ! }
    ! schedule('1 0-20 * * *', temp);
    ! schedule('1 21-23 * * *', tempo);
    +4h

    ! const start = 'daswetter.0.hourly.0d.';
    ! const start2 = 'daswetter.0.hourly.1d.';
    ! const end = 'h.Temperature';
    ! const end1 = 'h.SymbolID';
    ! const end2 = 'h.Rain';
    ! const end3 = 'h.hour';
    ! const end4 = 'h.Symbol';
    ! const end5 = 'h.Wind';
    ! const end6 = 'h.WindGusts';
    ! const end7 = 'h.Humidity';
    ! const end8 = 'h.Pressure';
    ! const end9 = 'h.Windchill';
    ! createState('javascript.0.Wetter.Plus4h.Temp_akt', 0, {type: 'number', unit: '°C'});
    ! createState('javascript.0.Wetter.Plus4h.SymbolID_akt', 0, {type: 'number', unit: ''});
    ! createState('javascript.0.Wetter.Plus4h.Regen_akt', 0, {type: 'number', unit: 'mm'});
    ! createState('javascript.0.Wetter.Plus4h.hour_akt', 0, {type: 'number'});
    ! createState('javascript.0.Wetter.Plus4h.symbol_akt', 0, {type: 'string'});
    ! createState('javascript.0.Wetter.Plus4h.Wind_akt', 0, {type: 'number', unit: 'kph'});
    ! createState('javascript.0.Wetter.Plus4h.WindGusts_akt', 0, {type: 'number', unit: 'kph'});
    ! createState('javascript.0.Wetter.Plus4h.Humidity_akt', 0, {type: 'number', unit: '%'});
    ! createState('javascript.0.Wetter.Plus4h.Pressure_akt', 0, {type: 'number', unit: 'mb'});
    ! createState('javascript.0.Wetter.Plus4h.Windchill_akt', 0, {type: 'number', unit: '°C'});
    ! function temp() {
    ! var hour = (new Date().getHours() + 4);
    ! setState('javascript.0.Wetter.Plus4h.Temp_akt', parseFloat(getState(start + hour + end).val), true);
    ! setState('javascript.0.Wetter.Plus4h.SymbolID_akt', parseFloat(getState(start + hour + end1).val), true);
    ! setState('javascript.0.Wetter.Plus4h.Regen_akt', parseFloat(getState(start + hour + end2).val), true);
    ! setState('javascript.0.Wetter.Plus4h.hour_akt', parseFloat(getState(start + hour + end3).val), true);
    ! setState('javascript.0.Wetter.Plus4h.symbol_akt', getState(start + hour + end4).val, true);
    ! setState('javascript.0.Wetter.Plus4h.Wind_akt', parseFloat(getState(start + hour + end5).val), true);
    ! setState('javascript.0.Wetter.Plus4h.WindGusts_akt', parseFloat(getState(start + hour + end6).val), true);
    ! setState('javascript.0.Wetter.Plus4h.Humidity_akt', parseFloat(getState(start + hour + end7).val), true);
    ! setState('javascript.0.Wetter.Plus4h.Pressure_akt', parseFloat(getState(start + hour + end8).val), true);
    ! setState('javascript.0.Wetter.Plus4h.Windchill_akt', parseFloat(getState(start + hour + end9).val), true);
    ! }
    ! function tempo() {
    ! var hour = (new Date().getHours() + 4);
    ! setState('javascript.0.Wetter.Plus4h.Temp_akt', parseFloat(getState(start2 + hour + end).val), true);
    ! setState('javascript.0.Wetter.Plus4h.SymbolID_akt', parseFloat(getState(start2 + hour + end1).val), true);
    ! setState('javascript.0.Wetter.Plus4h.Regen_akt', parseFloat(getState(start2 + hour + end2).val), true);
    ! setState('javascript.0.Wetter.Plus4h.hour_akt', parseFloat(getState(start2 + hour + end3).val), true);
    ! setState('javascript.0.Wetter.Plus4h.symbol_akt', getState(start2 + hour + end4).val, true);
    ! setState('javascript.0.Wetter.Plus4h.Wind_akt', parseFloat(getState(start2 + hour + end5).val), true);
    ! setState('javascript.0.Wetter.Plus4h.WindGusts_akt', parseFloat(getState(start2 + hour + end6).val), true);
    ! setState('javascript.0.Wetter.Plus4h.Humidity_akt', parseFloat(getState(start2 + hour + end7).val), true);
    ! setState('javascript.0.Wetter.Plus4h.Pressure_akt', parseFloat(getState(start2 + hour + end8).val), true);
    ! setState('javascript.0.Wetter.Plus4h.Windchill_akt', parseFloat(getState(start2 + hour + end9).val), true);
    ! }
    ! schedule('1 0-19 * * *', temp);
    ! schedule('1 20-23 * * *', tempo);

    Hoffe das ist nicht zu viel und ich habe mich verständlich ausgedrückt? :)

    Danke und Gruß,

    Tom

    <size size="85">CCU2 | QNAP TVS-473 64GB | VM Lubunto iBroker | Echo 2\. Gen. | LAN/Wifi | 18 Geräte</size>

    1 Reply Last reply
    0
    • paul53P Offline
      paul53P Offline
      paul53
      wrote on last edited by
      #2

      Beispiel +4 h

      function temp() {
         var start = 'daswetter.0.hourly.0d.';
         var hour = new Date().getHours() + 4;
         if(hour > 23) {
            hour = hour - 24;
            start = 'daswetter.0.hourly.1d.';
         }
      ...
      
      const start = ... 
      ````bitte entfernen. Es braucht nur 1 schedule() und eine Funktion temp().

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      1 Reply Last reply
      0
      • T Offline
        T Offline
        tomdeboom
        wrote on last edited by
        #3

        Guten Morgen Paul,

        vielen Dank für die schnelle Unterstützung. Von der Logik ist das Script mir ja klar, aber bei der Umsetzung scheitere ich leider noch.

        Aber solche Scripte helfen mir dabei es besser zu verstehen.

        Anbei das +4h Script wie ich es jetzt geändert habe, hoffe es ist so richtig?

        const end = 'h.Temperature';
        const end1 = 'h.SymbolID';
        const end2 = 'h.Rain';
        const end3 = 'h.hour';
        const end4 = 'h.Symbol';
        const end5 = 'h.Wind';
        const end6 = 'h.WindGusts';
        const end7 = 'h.Humidity';
        const end8 = 'h.Pressure';
        const end9 = 'h.Windchill';
        
        createState('javascript.0.Wetter.Plus4h.Temp_akt', 0, {type: 'number', unit: '°C'});
        createState('javascript.0.Wetter.Plus4h.SymbolID_akt', 0, {type: 'number', unit: ''});
        createState('javascript.0.Wetter.Plus4h.Regen_akt', 0, {type: 'number', unit: 'mm'});
        createState('javascript.0.Wetter.Plus4h.hour_akt', 0, {type: 'number'});
        createState('javascript.0.Wetter.Plus4h.symbol_akt', 0, {type: 'string'});
        createState('javascript.0.Wetter.Plus4h.Wind_akt', 0, {type: 'number', unit: 'kph'});
        createState('javascript.0.Wetter.Plus4h.WindGusts_akt', 0, {type: 'number', unit: 'kph'});
        createState('javascript.0.Wetter.Plus4h.Humidity_akt', 0, {type: 'number', unit: '%'});
        createState('javascript.0.Wetter.Plus4h.Pressure_akt', 0, {type: 'number', unit: 'mb'});
        createState('javascript.0.Wetter.Plus4h.Windchill_akt', 0, {type: 'number', unit: '°C'});
        
        function temp() {
           var start = 'daswetter.0.hourly.0d.';
           var hour = new Date().getHours() + 4;
           if(hour > 23) {
              hour = hour - 24;
              start = 'daswetter.0.hourly.1d.';
        }
           setState('javascript.0.Wetter.Plus4h.Temp_akt', parseFloat(getState(start + hour + end).val), true);
           setState('javascript.0.Wetter.Plus4h.SymbolID_akt', parseFloat(getState(start + hour + end1).val), true);
           setState('javascript.0.Wetter.Plus4h.Regen_akt', parseFloat(getState(start + hour + end2).val), true);
           setState('javascript.0.Wetter.Plus4h.hour_akt', parseFloat(getState(start + hour + end3).val), true);
           setState('javascript.0.Wetter.Plus4h.symbol_akt', getState(start + hour + end4).val, true);
           setState('javascript.0.Wetter.Plus4h.Wind_akt', parseFloat(getState(start + hour + end5).val), true);
           setState('javascript.0.Wetter.Plus4h.WindGusts_akt', parseFloat(getState(start + hour + end6).val), true);
           setState('javascript.0.Wetter.Plus4h.Humidity_akt', parseFloat(getState(start + hour + end7).val), true);
           setState('javascript.0.Wetter.Plus4h.Pressure_akt', parseFloat(getState(start + hour + end8).val), true);
           setState('javascript.0.Wetter.Plus4h.Windchill_akt', parseFloat(getState(start + hour + end9).val), true);
        }
        
        schedule('1 * * * *', temp);
        

        Danke und Gruß,

        Tom

        <size size="85">CCU2 | QNAP TVS-473 64GB | VM Lubunto iBroker | Echo 2\. Gen. | LAN/Wifi | 18 Geräte</size>

        1 Reply Last reply
        0
        • T Offline
          T Offline
          tomdeboom
          wrote on last edited by
          #4

          Hallo Paul,

          anbei mal ein Bild mit der View wo das script aktiv ist:
          5104_wetter.png

          Danke nochmal für die Hilfe.

          Gruß,

          Tom

          <size size="85">CCU2 | QNAP TVS-473 64GB | VM Lubunto iBroker | Echo 2\. Gen. | LAN/Wifi | 18 Geräte</size>

          1 Reply Last reply
          0

          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

          With your input, this post could be even better 💗

          Register Login
          Reply
          • Reply as topic
          Log in to reply
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes


          Support us

          ioBroker
          Community Adapters
          Donate

          601

          Online

          32.8k

          Users

          82.7k

          Topics

          1.3m

          Posts
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
          ioBroker Community 2014-2025
          logo
          • Login

          • Don't have an account? Register

          • Login or register to search.
          • First post
            Last post
          0
          • Home
          • Recent
          • Tags
          • Unread 0
          • Categories
          • Unreplied
          • Popular
          • GitHub
          • Docu
          • Hilfe