NEWS
WEATHERMAN von Dr. Stall
-
Die Koordinaten werden in den Systemeinstellungen (Button ganz oben rechts) eingetragen.
-
Hab dem Script unter common oder muss er unter global? Wo ist der Unterschied? `
Auf keinen Fall unter global :!: Unter global verwendet man nur Skripte mit Funktionen, die häufig benötigt werden. Skripte unter global werden nicht gestartet, sondern in alle anderen Skripte eingefügt ! Beispiel für ein Skript, das ich unter global erstellt habe, weil ich es häufig nutze:function runden(wert, stellen) { return Math.round(wert * Math.pow(10, stellen)) / Math.pow(10, stellen); }
-
Es gibt ein Skript für Eugens WiFFi um die Daten abzurufen.
Wie ich Eugen kenne müsste das mit dem Weatherman genauso funktionieren.
Gruß
Rainer `
Rainer, kannst Du mir sagen, wo ich das Skript finde? Die SuFu hat nichts ausgespuckt.
Ich habe den Weatherman und möchte nun die Daten in iobroker anzeigen lassen ohne die CCU einzubinden. Leider habe ich von json und co (noch ) keinen Plan.
Wie komme ich also an die Daten?
Grüße Andreas
-
Rainer, kannst Du mir sagen, wo ich das Skript finde? Die SuFu hat nichts ausgespuckt. `
Klar doch:
http://forum.iobroker.net/viewtopic.php … ilit=wiffi
Allerdings ist das für den Wiffi.
Ich weiß nicht ob das auch für den Weatherman gilt.
Müsstest du probieren
Viel Erfolg
Rainer
-
Danke, ich probiere und berichte.
Grüße Andreas
-
http://forum.iobroker.net/viewtopic.php?p=82797#p82797[
@Vumer:http://forum.iobroker.net/viewtopic.php?p=82797#p82797 ` ](http://forum.iobroker.net/viewtopic.php?p=82797#p82797)
nach vielen Versuchen habe ich es hinbekommen. Das Problem war wenn ich
setState('Sonnenstand.Elevation', Math.round(10 * h) / 10, true);
in
setState('s7.0.DBs.DB1.ANI1', Math.round(10 * h) / 10, true);
endern, kann ich die Werte im S7 Adapter sehen aber die werden nich zu LOGO übertragen. Die Lösung ist:
var suncalc = require('suncalc'), result = getObject('system.config'), lat = result.common.latitude, long = result.common.longitude; /**createState('Sonnenstand.Elevation', 0, { type: 'number', unit: '°' }); createState('Sonnenstand.Azimut', 0, { type: 'number', unit: '°' }); */ function Sonnenstand_berechnen () { var sunpos = suncalc.getPosition(new Date(), lat, long); var h = sunpos.altitude * 180 / Math.PI, a = sunpos.azimuth * 180 / Math.PI + 180; //setState('Sonnenstand.Elevation', Math.round(10 * h) / 10, true); //setState('Sonnenstand.Azimut', Math.round(a), true); setState('s7.0.DBs.DB1.ANI1',Math.round(10 * h) / 10); setState('s7.0.DBs.DB1.ANI2', Math.round(a)); } schedule("* * * * *", Sonnenstand_berechnen); // jede Minute Sonnenstand_berechnen(); // bei Scriptstart
ein kleines "Aber" gibt es noch: Elevation mit 10.8° wirt mit dem Wert 10 übertragen und schaltet erst bei 11.0° um.
± 1° ist doch nicht so schlim, oder?
Kann man mit dem Skript auch die Schattenlänge berechnen?
Schöne Grüße
Schöne
-
± 1° ist doch nicht so schlim, oder? `
Je nach Jahreszeit schon.Das müsste man mal für heute ausrechnen, wieviel das in Minuten sind.
Gruß
Rainer
-
Ja, hast recht, das dauert ganz schön lange. Habe es jetzt von
setState('s7.0.DBs.DB1.ANI1',Math.round(10 * h) / 10);
in````
setState('s7.0.DBs.DB1.ANI1',Math.round(10 * h)); -
Ganz grob gerechnet ohne den sinusförmigen Verlauf zu berücksichtigen.
und überall gerundet
Sonnenaufgang 08:30, Höchststand 12:30 = 4h = 240 Minuten (nach Sonnenverlauf.de)
Höchststand = 15,8° (16°)
240 MInuten /16° = 15 MInuten pro Grad.
Im Sommer sieht es sicher besser aus.
Ein Mathematiker oder Astronom kann's sicherlich besser.
Gruß
Rainer
-
Gute Rechnung
also 21.06.2018
alles abgerundet
Sonnenaufgang: 05:06:55 Sonnenhöchststand: 13:28:37 = 501 Minuten
Sonnenhöhe: 61.58°
500/62 = 8 MInuten pro Grad.
Es geht ja um Rolllädenschatirung, werde es im Sommer testen