NEWS
Adapter: DasWetter
-
Neue Version des "Sonnenstatus".
Nun der Übersichtlichkeit halber im GitHub zu finden: https://sborg2014.github.io/Sonnenstatus/Wichtig: den geänderten Datenpunkt beachten!
Wer den neuen DP (javascript.0.Data.Wetter.) übernehmen möchte, kann die alten Datenpunkte einfach löschen.
Wer beim "alten" Schema (javascript.0.Data.) bleiben möchte:- im Javascript den Datenpunkt auf den alten Wert ändern (Punkt am Ende beachten ;) )
- das Widget-Template vorher mit einem Texteditor (Notepad ++, PSPad etc.) öffnen und per "Suchen&Ersetzen" javascript.0.Data.Wetter. --> javascript.0.Data.
Die "neue" Struktur hat keinerlei Vor- oder Nachteile, nur bekomme ich aus Ressourcengründen keine VM mehr gebacken und muss dass machen was man eigentlich nicht tun sollte: in meiner Produktivumgebung entwickeln. Nicht dramatisch wenn man weiß was man tut oder sich zu helfen weiß, aber die alte Struktur kollidierte nun mit meinem System.
...und ich vergesse sonst bestimmt immer vor dem veröffentlichen das alles zu ändern :innocent: -
Wenn ich von der Version 2.6.1 auf die 2.7.2 gehe , kommt ein error und der Adapter wird mit Code 1 beendet.
Hab nüscht geändert , nur upgedatet.
Gehe ich wieder zurück auf die 2.6.1 ist alles tutti. -
Hallo zusammen.
Ich hab mir jetzt den dasWetter Adapter in der Version 2.5.0 installiert.Unter Pfad1 hab ich folgenden Link eingetragen
http://api.daswetter.com/index.php?api_lang=de&localidad=27361&affiliate_id=diXXXXXXXHab jetzt mal Probeweise alle 5min ein Update eingetragen.
Im Log wird folgendes angezeigt.daswetter.0 2019-02-19 11:25:02.969 debug nothing to do
daswetter.0 2019-02-19 11:25:02.354 debug update already running
daswetter.0 2019-02-19 11:25:02.342 debug objects in list: 107
daswetter.0 2019-02-19 11:25:02.341 debug 7 days forecast done, objects in list 107
daswetter.0 2019-02-19 11:25:01.971 debug calling forecast 7 days: http://api.daswetter.com/index.php?api_lang=de&localidad=27361&affiliate_id=diXXXXXXX
daswetter.0 2019-02-19 11:25:01.970 debug using new datastructure
daswetter.0 2019-02-19 11:25:01.969 debug set timeout to 60 sec
daswetter.0 2019-02-19 11:25:01.963 info starting. Version 2.5.0 in /opt/iobroker/node_modules/iobroker.daswetter, node: v8.15.0
daswetter.0 2019-02-19 11:25:01.916 info States connected to redis: 127.0.0.1:6379
daswetter.0 2019-02-19 11:25:01.909 debug statesDB connected
daswetter.0 2019-02-19 11:25:01.876 debug objectDB connectedUnter Objekte wird das angezeigt.

Da sollten doch jetzt doch die Wetterdaten drinstehen?
Kann mir jemand weiterhelfen
-
Hallo zusammen.
Ich hab mir jetzt den dasWetter Adapter in der Version 2.5.0 installiert.Unter Pfad1 hab ich folgenden Link eingetragen
http://api.daswetter.com/index.php?api_lang=de&localidad=27361&affiliate_id=diXXXXXXXHab jetzt mal Probeweise alle 5min ein Update eingetragen.
Im Log wird folgendes angezeigt.daswetter.0 2019-02-19 11:25:02.969 debug nothing to do
daswetter.0 2019-02-19 11:25:02.354 debug update already running
daswetter.0 2019-02-19 11:25:02.342 debug objects in list: 107
daswetter.0 2019-02-19 11:25:02.341 debug 7 days forecast done, objects in list 107
daswetter.0 2019-02-19 11:25:01.971 debug calling forecast 7 days: http://api.daswetter.com/index.php?api_lang=de&localidad=27361&affiliate_id=diXXXXXXX
daswetter.0 2019-02-19 11:25:01.970 debug using new datastructure
daswetter.0 2019-02-19 11:25:01.969 debug set timeout to 60 sec
daswetter.0 2019-02-19 11:25:01.963 info starting. Version 2.5.0 in /opt/iobroker/node_modules/iobroker.daswetter, node: v8.15.0
daswetter.0 2019-02-19 11:25:01.916 info States connected to redis: 127.0.0.1:6379
daswetter.0 2019-02-19 11:25:01.909 debug statesDB connected
daswetter.0 2019-02-19 11:25:01.876 debug objectDB connectedUnter Objekte wird das angezeigt.

Da sollten doch jetzt doch die Wetterdaten drinstehen?
Kann mir jemand weiterhelfen
@Willko sagte in Adapter: DasWetter:
Hallo zusammen.
Ich hab mir jetzt den dasWetter Adapter in der Version 2.5.0 installiert.Unter Pfad1 hab ich folgenden Link eingetragen
http://api.daswetter.com/index.php?api_lang=de&localidad=27361&affiliate_id=diXXXXXXXHab jetzt mal Probeweise alle 5min ein Update eingetragen.
Im Log wird folgendes angezeigt.daswetter.0 2019-02-19 11:25:02.969 debug nothing to do
daswetter.0 2019-02-19 11:25:02.354 debug update already running
daswetter.0 2019-02-19 11:25:02.342 debug objects in list: 107
daswetter.0 2019-02-19 11:25:02.341 debug 7 days forecast done, objects in list 107
daswetter.0 2019-02-19 11:25:01.971 debug calling forecast 7 days: http://api.daswetter.com/index.php?api_lang=de&localidad=27361&affiliate_id=diXXXXXXX
daswetter.0 2019-02-19 11:25:01.970 debug using new datastructure
daswetter.0 2019-02-19 11:25:01.969 debug set timeout to 60 sec
daswetter.0 2019-02-19 11:25:01.963 info starting. Version 2.5.0 in /opt/iobroker/node_modules/iobroker.daswetter, node: v8.15.0
daswetter.0 2019-02-19 11:25:01.916 info States connected to redis: 127.0.0.1:6379
daswetter.0 2019-02-19 11:25:01.909 debug statesDB connected
daswetter.0 2019-02-19 11:25:01.876 debug objectDB connectedUnter Objekte wird das angezeigt.

Da sollten doch jetzt doch die Wetterdaten drinstehen?
Kann mir jemand weiterhelfen
Das dauert ein ein wenig........
Adapter neu gestartet und Objekte aktualisiert? -
Hallo zusammen.
Ich hab mir jetzt den dasWetter Adapter in der Version 2.5.0 installiert.Unter Pfad1 hab ich folgenden Link eingetragen
http://api.daswetter.com/index.php?api_lang=de&localidad=27361&affiliate_id=diXXXXXXXHab jetzt mal Probeweise alle 5min ein Update eingetragen.
Im Log wird folgendes angezeigt.daswetter.0 2019-02-19 11:25:02.969 debug nothing to do
daswetter.0 2019-02-19 11:25:02.354 debug update already running
daswetter.0 2019-02-19 11:25:02.342 debug objects in list: 107
daswetter.0 2019-02-19 11:25:02.341 debug 7 days forecast done, objects in list 107
daswetter.0 2019-02-19 11:25:01.971 debug calling forecast 7 days: http://api.daswetter.com/index.php?api_lang=de&localidad=27361&affiliate_id=diXXXXXXX
daswetter.0 2019-02-19 11:25:01.970 debug using new datastructure
daswetter.0 2019-02-19 11:25:01.969 debug set timeout to 60 sec
daswetter.0 2019-02-19 11:25:01.963 info starting. Version 2.5.0 in /opt/iobroker/node_modules/iobroker.daswetter, node: v8.15.0
daswetter.0 2019-02-19 11:25:01.916 info States connected to redis: 127.0.0.1:6379
daswetter.0 2019-02-19 11:25:01.909 debug statesDB connected
daswetter.0 2019-02-19 11:25:01.876 debug objectDB connectedUnter Objekte wird das angezeigt.

Da sollten doch jetzt doch die Wetterdaten drinstehen?
Kann mir jemand weiterhelfen
@Willko sagte in Adapter: DasWetter:
Kann mir jemand weiterhelfen
dauert beim ersten Mal oft etwas!
Schau in einer 1/4 Stunde nochmal nach.
-
Jetzt habe ich auch die Monddaten......:wink:
Vielleicht kann man das im DasWetter Adapter einbauen?
-
Die "alte" (=aktuelle) habe ich leider selbst nicht mehr, so von wg. Murphy... ;)
Anbei aber die neue Version. Diese erzeugt zwar beim erstmaligen Start Warnings im Log, dafür werden aber gleich Werte erzeugt und der Sonnenstatus funktioniert sofort. Nur die Tageslängendifferenz benötigt noch max. 48h bis zur korrekten Anzeige (beim allerersten Start, wenn man es noch nie benutzt hat).
Keine maßgeblichen Neuerungen, also Update nicht unbedingt von Nöten.Wichtig:
Diese Version ist noch nicht gänzlich überprüft, kann also auch noch Fehler beinhalten!
Unbedingt geänderten Datenpunkt beachten und ggf. anpassen.
Alt = 'javascript.0.Data.'
Neu = 'javascript.0.Data.Wetter.'/* V0.0.4 vom 08.02.2019 berechnet die Tageslänge und die Differenz zum Vortag, Tag des Jahres, die Kalenderwoche, Länge der Nacht, aktuelles Datum als DP (TT.MM.JJJJ) V0.0.4 - ~ States mit Unit versehen ~ Codeoptimierung + aktuelles Datum als DP (TT.MM.JJJJ) + einmalig beim 1. Start Berechnung durchführen + Log-Ausgaben ~ KW und Tagesnummern mit führenden Nullen ~ Default-DP geändert! V0.0.3 - - Openweather-Adapter wird nicht mehr benötigt V0.0.2 - + Länge der Nacht ~ x Stunden und 60 min möglich ~ negative Stundenanzahl bei Restlicht V0.0.1 - erste Beta */ // wo sollen die Datenpunkte angelegt werden? const DP = 'javascript.0.Data.Wetter.'; // wann erfolgt die tägliche Berechnung (Minuten Stunde * * *) schedule("58 0 * * *", Berechnung); // Ab hier braucht nichts mehr geändert zu werden ###################################### // firstStart var DPtest = getState(DP+'aktuelles_Datum'); if ( !DPtest.val ) { firstStart(); } async function firstStart() { createState(DP+'Tageslaenge',0, { unit: "Sekunden"}); createState(DP+'Tageslaenge_txt',0); createState(DP+'Tageslaenge_Differenz',0); createState(DP+'Restlicht',0, { unit: "Sekunden"}); createState(DP+'Restlicht_txt',0); createState(DP+'Kalenderwoche',0, { type: "String"}); createState(DP+'Tag_des_Jahres',0, { type: "String"}); createState(DP+'Nachtlaenge',0, { unit: "Sekunden"}); createState(DP+'Nachtlicht_rest',0, { unit: "Sekunden"}); createState(DP+'Sonnenaufgang',0); createState(DP+'Sonnenuntergang',0); createState(DP+'aktuelles_Datum',0, { type: "String"}); await Sleep(3000); log("1. Start oder Update von Sonnenstatus durchgeführt...","info"); Berechnung(); } function Berechnung () { // Tageslänge berechnen Unixtime(getState('daswetter.0.NextHours.Location_1.Day_1.sun_in').val); var Aufgang = new Date(DatenP).valueOf()/1000; Unixtime(getState('daswetter.0.NextHours.Location_1.Day_1.sun_out').val); var Untergang = new Date(DatenP).valueOf()/1000; setState(DP+'Sonnenaufgang',Aufgang); setState(DP+'Sonnenuntergang',Untergang); var Tageslaenge = Untergang - Aufgang; // in Sekunden var Stunden = Math.floor(Tageslaenge/3600); var Minuten = Math.floor((Tageslaenge % 3600)/60); var Tageslaenge_alt = getState(DP+'Tageslaenge').val; setState(DP+'Tageslaenge',Tageslaenge); setState(DP+'Tageslaenge_txt',Stunden+"h "+Minuten+"min"); var Tageslaenge_Differenz = Tageslaenge - Tageslaenge_alt; var Minuten_Diff = Math.floor(Tageslaenge_Differenz/60); var Sekunden_Diff= Math.floor(Tageslaenge_Differenz % 60); if ( Tageslaenge_Differenz < 0 ) { setState(DP+'Tageslaenge_Differenz',"-"+Minuten_Diff+"min "+Sekunden_Diff+"sek"); } if ( Tageslaenge_Differenz > 0 ) { setState(DP+'Tageslaenge_Differenz',"+"+Minuten_Diff+"min "+Sekunden_Diff+"sek"); } if ( Tageslaenge_Differenz = 0 ) { setState(DP+'Tageslaenge_Differenz',"Ok, Null kommt vor..."); } // Nachtlaenge berechnen var Nachtlaenge = 86400 - Tageslaenge; setState(DP+'Nachtlaenge',Nachtlaenge); // Kalenderwoche berechnen var date = new Date(); var currentThursday = new Date(date.getTime() +(3-((date.getDay()+6) % 7)) * 86400000); // At the beginnig or end of a year the thursday could be in another year. var yearOfThursday = currentThursday.getFullYear(); // Get first Thursday of the year var firstThursday = new Date(new Date(yearOfThursday,0,4).getTime() +(3-((new Date(yearOfThursday,0,4).getDay()+6) % 7)) * 86400000); // +1 we start with week number 1 // +0.5 an easy and dirty way to round result (in combinationen with Math.floor) var weekNumber = Math.floor(1 + 0.5 + (currentThursday.getTime() - firstThursday.getTime()) / 86400000/7); weekNumber = ("0" + weekNumber).slice(-2); setState(DP+'Kalenderwoche',weekNumber); // Tag des Jahres berechnen var Jahr = date.getFullYear(); var heutestart = new Date(date.setHours(0,0,0,0)); var neujahr = new Date(Jahr,0,1); var difftage = (heutestart - neujahr) / (24*60*60*1000) + 1; var tag_des_jahres = Math.ceil(difftage); tag_des_jahres = ("00" + tag_des_jahres).slice(-3); setState(DP+'Tag_des_Jahres',tag_des_jahres); // aktuelles Datum als DP var Datum = formatDate(new Date(), 'DD.MM.YYYY'); setState(DP+'aktuelles_Datum',Datum); log("Berechnung für Sonnenstatus durchgeführt...","info"); } // Tageslicht (Rest) berechnen var MinuteMan = schedule("* * * * *", function () { var Untergang = getState(DP+'Sonnenuntergang').val; var Jetzt = Date.now() /1000; var Restlicht = Math.round(Untergang - Jetzt); setState(DP+'Restlicht',Restlicht); var Restlicht_h = Math.floor(Restlicht/3600); var Restlicht_min = Math.floor((Restlicht % 3600) /60); if ( Restlicht_min >= 0 && Restlicht_h >= 0 ) { setState(DP+'Restlicht_txt',Restlicht_h+"h "+Restlicht_min+"min"); } else { setState(DP+'Restlicht_txt',"--h --min"); } // Nachtlicht (Rest) berechnen var Nachtlicht_rest = Restlicht * -1; setState(DP+'Nachtlicht_rest',Nachtlicht_rest); }); // konvertiere Zeit in Unix-Timestamp function Unixtime (Zeitstempel) { DatenP = formatDate(new Date(), 'YYYY-MM-DD')+"T"+Zeitstempel+":00"; return DatenP; } // Pause einlegen function Sleep(milliseconds) { return new Promise(resolve => setTimeout(resolve, milliseconds)); }@SBorg sagte in Adapter: DasWetter:
Die "alte" (=aktuelle) habe ich leider selbst nicht mehr, so von wg. Murphy... ;)
Hallo
Mir ist gerade aufgefallen, dass der Sonnenstand nicht mehr passt.
Jetzt um 1 Uhr Nachts zeigt er die Sonne.
Und Tageslicht sind 17 Stunden.Hast du eventuell einen Tipp, was da nicht passt?
Danke

-
Wenn schon das "Tageslicht" nicht stimmt, stimmt auch (fast) alles andere nicht. Hast du irgendwas an den Datenpunkten geändert (auch z.B. von DasWetter)? Welche Version des JS nutzt du (V0.0.4 von GitHub)?
-
Wenn schon das "Tageslicht" nicht stimmt, stimmt auch (fast) alles andere nicht. Hast du irgendwas an den Datenpunkten geändert (auch z.B. von DasWetter)? Welche Version des JS nutzt du (V0.0.4 von GitHub)?
@SBorg sagte in Adapter: DasWetter:
Wenn schon das "Tageslicht" nicht stimmt, stimmt auch (fast) alles andere nicht. Hast du irgendwas an den Datenpunkten geändert (auch z.B. von DasWetter)? Welche Version des JS nutzt du (V0.0.4 von GitHub)?
DasWetter = 2.6.1 (soll ich wieder auf 2.5.0 zurück gehen?)
JS = 4.0.12 (soll ich wieder auf 3.6.1 zurück gehen?)Hab an den DP nichts geändert!

EDIT:
heute schaut es mit der Zeit wieder normal aus! Komisch!

-
Nein, ich meinte eigentlich die Version des "Sonnenstatus-Skripts", aber anhand des Screenshots sehe ich schon, dass es nicht die GitHub-Version ist. Aber lt. des Screenys sieht für heute auch alles gut aus was die Datenpunkte betrifft. Wichtig ist der Sonnenauf- und Untergang, denn anhand derer wird alles andere berechnet. Hat vielleicht mal gerade was anderes "dazwischengefunkt", zumindest konnte ich bisher nichts feststellen ;)
-
Nein, ich meinte eigentlich die Version des "Sonnenstatus-Skripts", aber anhand des Screenshots sehe ich schon, dass es nicht die GitHub-Version ist. Aber lt. des Screenys sieht für heute auch alles gut aus was die Datenpunkte betrifft. Wichtig ist der Sonnenauf- und Untergang, denn anhand derer wird alles andere berechnet. Hat vielleicht mal gerade was anderes "dazwischengefunkt", zumindest konnte ich bisher nichts feststellen ;)
@SBorg sagte in Adapter: DasWetter:
Nein, ich meinte eigentlich die Version des "Sonnenstatus-Skripts", aber anhand des Screenshots sehe ich schon, dass es nicht die GitHub-Version ist. Aber lt. des Screenys sieht für heute auch alles gut aus was die Datenpunkte betrifft. Wichtig ist der Sonnenauf- und Untergang, denn anhand derer wird alles andere berechnet. Hat vielleicht mal gerade was anderes "dazwischengefunkt", zumindest konnte ich bisher nichts feststellen ;)
Ja, scheint heute wieder zu funktionieren.
Ich beobachte es mal.
Werde mir dein neues Script auf GIT auch mal ansehen.Danke
-
Ist (noch) ein Fehler im Adapter und bisher nicht gefixt.
-
Jetzt habe ich auch die Monddaten......:wink:
Vielleicht kann man das im DasWetter Adapter einbauen?
-
@sigi234 sagte in Adapter: DasWetter:
Jetzt habe ich auch die Monddaten......
Genial !!! Woher hast du die Daten ? die Vis würde mich auch interessieren.
@Segway sagte in Adapter: DasWetter:
@sigi234 sagte in Adapter: DasWetter:
Jetzt habe ich auch die Monddaten......
Genial !!! Woher hast du die Daten ? die Vis würde mich auch interessieren.
Hallo, ist leider nur ein iFrame....
-
@Segway sagte in Adapter: DasWetter:
@sigi234 sagte in Adapter: DasWetter:
Jetzt habe ich auch die Monddaten......
Genial !!! Woher hast du die Daten ? die Vis würde mich auch interessieren.
Hallo, ist leider nur ein iFrame....
-
@sigi234 sagte in Adapter: DasWetter:
Hallo, ist leider nur ein iFrame....
Hast du die Daten (Temperaturen) aus der html Seite ausgelesen oder gibt es dazu eine api ?
-