NEWS
Luft-Messdaten von OpenSenseMap auslesen
-
@Homoran
setze Name auf Attribut "name" von obj
ist überflüssig, da die globale Variable Name nirgends verwendet wird.@paul53
Danke - ich muss da eh nochmal ran, weil der BME280 jetzt wieder den Luftdruck in Pa angibtDas stammt noch aus meine Versuchen mit dem setObject - da hatte ich es verwendet
-
@paul53
Danke - ich muss da eh nochmal ran, weil der BME280 jetzt wieder den Luftdruck in Pa angibtDas stammt noch aus meine Versuchen mit dem setObject - da hatte ich es verwendet
@Homoran sagte in Luft-Messdaten von OpenSenseMap auslesen:
ich muss da eh nochmal ran, weil der BME280 jetzt wieder den Luftdruck in Pa angibt
Wollte wieder eine Ersetzung einfügen, aber jetzt direkt meine json-"Kenntnisse" umsetzen.
Direkt bei der zweiten Zeile bin ich ins Schleudern gekommen.
Ich fürchte ich kann hier nicht direkt mit den JSON-Daten arbeiten und muss doch auf Variable ausweichen.
Das sähe dann (wenn ich da jetzt keine Fehler reingebracht habe) so aus:

Oder gibt's da doch eine Möglichkeit JSON-Inhalte zu manipulieren
-
@Homoran sagte in Luft-Messdaten von OpenSenseMap auslesen:
ich muss da eh nochmal ran, weil der BME280 jetzt wieder den Luftdruck in Pa angibt
Wollte wieder eine Ersetzung einfügen, aber jetzt direkt meine json-"Kenntnisse" umsetzen.
Direkt bei der zweiten Zeile bin ich ins Schleudern gekommen.
Ich fürchte ich kann hier nicht direkt mit den JSON-Daten arbeiten und muss doch auf Variable ausweichen.
Das sähe dann (wenn ich da jetzt keine Fehler reingebracht habe) so aus:

Oder gibt's da doch eine Möglichkeit JSON-Inhalte zu manipulieren
-
@paul53 Wo zauberst du immer nur die Lösungen her, auf die kein "normaler" Mensch kommt.
Meine Version funktioniert jetzt und ich habe sogar nicht auf title=Luftdruck sondern auf unit=Pa geprüft.
Denke das ist sauberer.Werde deine Vorschlag trotzdem umsetzen, sieht einfach "runder" aus.
-
@paul53 Wo zauberst du immer nur die Lösungen her, auf die kein "normaler" Mensch kommt.
Meine Version funktioniert jetzt und ich habe sogar nicht auf title=Luftdruck sondern auf unit=Pa geprüft.
Denke das ist sauberer.Werde deine Vorschlag trotzdem umsetzen, sieht einfach "runder" aus.
-
@paul53
Aber mit dem prüfe-Baustein gibt es nicht die Möglichkeit noch weitere Fälle abzufangen wie mit falls...sonstfalls...Oder habe ich da wieder etwas übersehen?
-
@paul53
Aber mit dem prüfe-Baustein gibt es nicht die Möglichkeit noch weitere Fälle abzufangen wie mit falls...sonstfalls...Oder habe ich da wieder etwas übersehen?
-
@Homoran sagte:
mit dem prüfe-Baustein gibt es nicht die Möglichkeit noch weitere Fälle abzufangen wie mit falls...sonstfalls...
Man kann schachteln.
falls falsch prüfe ...@paul53 Danke - muss man nur aufpassen dass man nicht falsch abfragt sonst macht er aus allen anderen Einheiten [°C, ppm usw.] immer hPa

-
Das Skript läuft soweit ganz gut - nochmals Danke für die Weiterbildung!
leider werden die Datenpunkte bei einer neuen Station (Skript kopiert und Station-ID geändert) bis auf Station-ID und Name der Station nicht beim ersten Durchlauf gefüllt.
Ich denke das liegt nach wie vor an der asynchronen Abarbeitung, auch wenn es jetzt keine Errors mehr gibt.
Bei dem Anlegen des Channel-DP habe ich anschließend einen Timeout, damit die weiteren DPs den fertigen Channel vorfinden.

Die Sensor DPs werden abr mit Wert 0 angelegt, was IMHO durch die Funktion bedingt ist.
function ( id, Name, unit )
if(existsState(id)) return true; createState(id, 0, {type:'number', name: Name, unit:unit, read:true, write:false, role:'value'});Kann/darf man hier den default-Wert (=0) durch eine weitere Variable ersetzen, die direkt den Wert enthält?
-
Das Skript läuft soweit ganz gut - nochmals Danke für die Weiterbildung!
leider werden die Datenpunkte bei einer neuen Station (Skript kopiert und Station-ID geändert) bis auf Station-ID und Name der Station nicht beim ersten Durchlauf gefüllt.
Ich denke das liegt nach wie vor an der asynchronen Abarbeitung, auch wenn es jetzt keine Errors mehr gibt.
Bei dem Anlegen des Channel-DP habe ich anschließend einen Timeout, damit die weiteren DPs den fertigen Channel vorfinden.

Die Sensor DPs werden abr mit Wert 0 angelegt, was IMHO durch die Funktion bedingt ist.
function ( id, Name, unit )
if(existsState(id)) return true; createState(id, 0, {type:'number', name: Name, unit:unit, read:true, write:false, role:'value'});Kann/darf man hier den default-Wert (=0) durch eine weitere Variable ersetzen, die direkt den Wert enthält?
@Homoran sagte:
Kann/darf man hier den default-Wert (=0) durch eine weitere Variable ersetzen, die direkt den Wert enthält?
Ja.
if(existsState(id)) return true; createState(id, init, {type:'number', name: Name, unit:unit, read:true, write:false, role:'value'});
-
@Homoran sagte:
Kann/darf man hier den default-Wert (=0) durch eine weitere Variable ersetzen, die direkt den Wert enthält?
Ja.
if(existsState(id)) return true; createState(id, init, {type:'number', name: Name, unit:unit, read:true, write:false, role:'value'});
@paul53
Danke, genau so hatte ich es mir vorgestellt -
Hier ist jetzt die vorläufig letzte Version 0.3.3
Änderungen
- Abfangen von Werten in Pa, werden in hPa umgerechnet
- Datenpunkte werden beim Anlegen direkt mit Werten erstellt.
-
Hier ist jetzt die vorläufig letzte Version 0.3.3
Änderungen
- Abfangen von Werten in Pa, werden in hPa umgerechnet
- Datenpunkte werden beim Anlegen direkt mit Werten erstellt.
@Homoran Also muss man für jeden Sensor auf der 'Map ein eigenes Script anlegen, soweit klar und Funktioniert auch, aber der Stationsname wird jetzt nirgendwo verwendet bei mir. Ist das so richtig? Ich fänd es schon gut wenn der Irgendwo in den Datenpunkten auftauchen würde.
-
@Homoran Also muss man für jeden Sensor auf der 'Map ein eigenes Script anlegen, soweit klar und Funktioniert auch, aber der Stationsname wird jetzt nirgendwo verwendet bei mir. Ist das so richtig? Ich fänd es schon gut wenn der Irgendwo in den Datenpunkten auftauchen würde.
@Beliar_666 sagte in Luft-Messdaten von OpenSenseMap auslesen:
aber der Stationsname wird jetzt nirgendwo verwendet bei mir. Ist das so richtig?
Nope, ist es nicht!
So sollte es aussehen:

Hier "MAP1" (inzwischen auch CHANNEL und nicht mehr STATE)
Sollte der Datenpunkt der Station-ID bereits vor der Versionsänderung angelegt worden sien, muss er einmalig gelöscht werden, damit ID und Name beim nächsten Aufruf erscheint
-
@Beliar_666 sagte in Luft-Messdaten von OpenSenseMap auslesen:
aber der Stationsname wird jetzt nirgendwo verwendet bei mir. Ist das so richtig?
Nope, ist es nicht!
So sollte es aussehen:

Hier "MAP1" (inzwischen auch CHANNEL und nicht mehr STATE)
Sollte der Datenpunkt der Station-ID bereits vor der Versionsänderung angelegt worden sien, muss er einmalig gelöscht werden, damit ID und Name beim nächsten Aufruf erscheint
@Homoran sagte in Luft-Messdaten von OpenSenseMap auslesen:
Nope, ist es nicht!
So schaut es bei mir aus.... angelegt ca. 15.00 Uhr.

-
@Homoran sagte in Luft-Messdaten von OpenSenseMap auslesen:
Nope, ist es nicht!
So schaut es bei mir aus.... angelegt ca. 15.00 Uhr.

@Beliar_666 sagte:
So schaut es bei mir aus
Ich vermute mal, Du hast setObject in der Konfiguration der JS-Instanz nicht freigegeben ?
-
@Beliar_666 sagte:
So schaut es bei mir aus
Ich vermute mal, Du hast setObject in der Konfiguration der JS-Instanz nicht freigegeben ?
@paul53 sagte in Luft-Messdaten von OpenSenseMap auslesen:
Ich vermute mal, Du hast setObject in der Konfiguration der JS-Instanz nicht freigegeben ?
Nein das war es nicht, aber das Script macht irgendwo einen Fehler:


Er legt mit quasi in Java 0 ein neues Java0 an ??? Aber die eigentlichen Daten schreibt er genau dahin wo ich sie haben will....
-
@paul53 sagte in Luft-Messdaten von OpenSenseMap auslesen:
Ich vermute mal, Du hast setObject in der Konfiguration der JS-Instanz nicht freigegeben ?
Nein das war es nicht, aber das Script macht irgendwo einen Fehler:


Er legt mit quasi in Java 0 ein neues Java0 an ??? Aber die eigentlichen Daten schreibt er genau dahin wo ich sie haben will....
@Beliar_666 sagte in Luft-Messdaten von OpenSenseMap auslesen:
Er legt mit quasi in Java 0 ein neues Java0 an ???
ok!
Da soll auch nur das UNTERVERZEICHNIS von javascript.0 rein nicht der gesamte BaumDeswegen steht da:
Hier Unterverzeichnis im js-Verzeichnis eingeben
-
@paul53 sagte in Luft-Messdaten von OpenSenseMap auslesen:
Ich vermute mal, Du hast setObject in der Konfiguration der JS-Instanz nicht freigegeben ?
Nein das war es nicht, aber das Script macht irgendwo einen Fehler:


Er legt mit quasi in Java 0 ein neues Java0 an ??? Aber die eigentlichen Daten schreibt er genau dahin wo ich sie haben will....
@Beliar_666
Die Variable Unterverzeichnis darf nicht "javascript.0." am Anfang enthalten ! -
@Beliar_666
Die Variable Unterverzeichnis darf nicht "javascript.0." am Anfang enthalten !
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden
