NEWS
WEATHERMAN von Dr. Stall
-
Ich finde das https://www.stall.biz/project/weatherman-die-perfekte-wetterstation-fuer-die-hausautomation einfach genial. Hätte ich HM und nich Siemens LOGO! wurde ich das Teil sofort bestellen und selber testen. Aber es soll laut Beschreibung auch mit ioBroker funktionieren.
Ist dieser https://www.stall.biz/project/wunderground-wetter-mit-einfachem-hm-skript-holen schon integriert ober muss man dem noch in ioBroker integrieren?
Schöne Grüße
-
es soll laut Beschreibung auch mit ioBroker funktionieren. `
Da man per URL das Telegramm im JSON-Format holen kann, ist es recht einfach, per Javascript die Werte in Datenpunkte zu schreiben. Dazu muss man natürlich wissen, wie das JSON-Telegramm aussieht. -
Geiles Teil. Ja da das Teil mit einem wemos läuft sollte man das easy in iobroker rein bekommen
Gesendet von meinem SM-G930F mit Tapatalk
-
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
-
Es gibt ein Skript für Eugens WiFFi um die Daten abzurufen.
Gruß
Rainer `
Das ist eigentlich meine Frage. Werden nur Daten übermittelt oder übernimmt die WeMos die Auswertung inklusive Sonnenstandsskript?
Schöne Grüße
-
übernimmt die WeMos die Auswertung inklusive Sonnenstandsskript? `
Das Sonnenstandsskript für ioBroker findest Du http://www.iobroker.net/docu/?page_id=3693&lang=de oder mit den Daten aus dem js-controller: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); } schedule("* * * * *", Sonnenstand_berechnen); // jede Minute Sonnenstand_berechnen(); // bei Scriptstart
Die Auswertung musst Du schon selbst anhand der Fassadenausrichtung machen.
EDIT: Korrigiert.
-
Das ist eigentlich meine Frage. Werden nur Daten übermittelt oder übernimmt die WeMos die Auswertung inklusive Sonnenstandsskript? `
Auch hier kann ich nur auf den WiFFi verweisen. Der berechnet "aus lauter Langeweile" auch den Sonnenstand. Wenn noch Platz im Sketch war denke ich mal, dass Eugen das hier auch implementiert hat.
Gruß
Rainer
-
Dankeschön für den Link. Aber in der Anleitung steht:
****Berechnung Sonnenstand Azimut
Berechnung Sonnenstand Elevation****
Gibst bestimmt ein Grund oder?
Was muss ich im ioBroker noch machen damit ich die Befehle über dem S7 Adapter zu meine LOGO sende?
drei Fassaden
Schöne Grüße
2071_s7-ni.jpg -
Verzeihung bitte aber ich hab noch nie eine HM gehabt/programmiert und kenne die Struktur/Befehle nicht.
-
Dankeschön für den Link. Aber in der Anleitung steht:
Berechnung Sonnenstand Azimut
Berechnung Sonnenstand Elevation
Stimmt, das wird geliefert.
> w_elevation vom Typ Zahl mit Maßeinheit °w_azimut vom Typ Zahl mit Maßeinheit ° `
Für die Beschhattung muss dann der Azimut in Relation zur Fassenausrichtung (Ausrichtung - 90° < Azimut < Ausrichtung + 90°) und die Elevation (> X °) ausgewertet werden. -
ich hab noch nie eine HM gehabt/programmiert und kenne die Struktur/Befehle nicht. `
Die Programmierung in ioBroker erfolgt in Javascript und hat nichts mit der Programmierung in der HM zu tun. -
übernimmt die WeMos die Auswertung inklusive Sonnenstandsskript? `
Das Sonnenstandsskript für ioBroker findest Du http://www.iobroker.net/docu/?page_id=3693&lang=de oder mit den Daten aus dem js-controller:var suncalc = require('suncalc'), result = getObject('system.config.common'), lat = result.latitude, long = result.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', 0.1 * Math.round(10 * h), true); setState('Sonnenstand.Azimut', Math.round(a), true); } schedule("* * * * *", Sonnenstand_berechnen); // jede Minute Sonnenstand_berechnen(); // bei Scriptstart
Die Auswertung musst Du schon selbst anhand der Fassadenausrichtung machen. `
Mal eine Frage. Ich habe das Sonnenstandsscript von Eugen auf der CCU2 laufen und bin sehr zufrieden. In Kombination mit dem von ihm entworfenen Sonnensensor rollen meine Rolladen seit drei Jahren perfekt!
Entspricht dein Script dem CCU Script oder gibt es da grundsätzliche Unterschiede?
Danke und Grüße
Andreas
-
Entspricht dein Script dem CCU Script oder gibt es da grundsätzliche Unterschiede? `
Der wesentliche Unterschied ist die verwendete Programmiersprache und daraus resultierend der Aufwand und die Genauigkeit.Da HM-Script keine transzendenten mathematischen Funktionen kennt, muss man in HM-Script interpolieren, wobei ein Kompromiss zwischen Aufwand und Genauigkeit gefunden werden muss. Das Problem hat man in Javascript nicht
-
Das Sonnenstandsskript für ioBroker findest Du http://www.iobroker.net/docu/?page_id=3693&lang=de oder mit den Daten aus dem js-controller: `
Bekomme diese Warnungjavascript.0 2017-09-02 19:26:37.821 info script.js.common.Sonnenstand: registered 0 subscriptions and 1 schedule javascript.0 2017-09-02 19:26:37.820 warn script.js.common.Sonnenstand: sunpos: [object Object] javascript.0 2017-09-02 19:26:37.818 warn script.js.common.Sonnenstand: longitude: x.xxxx javascript.0 2017-09-02 19:26:37.818 warn script.js.common.Sonnenstand: latitude : yy.yyyy javascript.0 2017-09-02 19:26:37.817 info script.js.common.Sonnenstand: -----------------------------------------------
-
Bekomme diese Warnung `
Sorry, mein Fehler. Sollte doch alle Skripte testen. Habe es im Original geändert:var suncalc = require('suncalc'), result = getObject('system.config'), lat = result.common.latitude, long = result.common.longitude;
-
jetzt
javascript.0 2017-09-02 20:17:00.971 warn script.js.common.Sonnenstand: sunpos: [object Object] javascript.0 2017-09-02 20:17:00.970 warn script.js.common.Sonnenstand: longitude: undefined javascript.0 2017-09-02 20:17:00.970 warn script.js.common.Sonnenstand: latitude : undefined javascript.0 2017-09-02 20:17:00.968 info script.js.common.Sonnenstand: -----------------------------------------------
spielt das eine Rolle wie viele Ziffern nach dem Punkt?
Hab dem Script unter common oder muss er unter global? Wo ist der Unterschied?
-
Läuft, die warnung kamm von dem http://www.iobroker.net/docu/?page_id=3693&lang=de
Jetzt muss ich noch herausfinden wie man dem nutzt
-
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