Daten von Luftdaten auslesen

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Gast

    #1

    Daten von Luftdaten auslesen

    Hallo,

    wie kann ich am besten die Daten von Luftdaten.info auslesen
    Hier als Bsp Json Daten
    http://api.luftdaten.info/v1/sensor/1553/

    Als Http virtuellen Eingang habe ich eingetragen

    http://api.luftdaten.info/v1/sensor/1553/

    als Befehl

    "sensordatavalues":\i"value":\i\v


    Leider kommen da keine Daten,
    wo liegt der Fehler.

    Gruss
  • romildo
    Lebende Foren Legende
    • 25.08.2015
    • 5169

    #2
    Hallo,
    Versuch es mal mit dieser Befehlserkennung:
    Code:
    sensordatavalues\ivalue\i\i":"\i\v
    LG Romildo

    Kommentar

    • Gast

      #3
      Zitat von romildo
      Hallo,
      Versuch es mal mit dieser Befehlserkennung:
      Code:
      sensordatavalues\ivalue\i\i":"\i\v


      Super Danke, läuft


      Wie bekomme ich die Daten aus P2?

      Gruss
      Zuletzt geändert von Gast; 21.05.2017, 06:50.

      Kommentar

      • romildo
        Lebende Foren Legende
        • 25.08.2015
        • 5169

        #4
        Such nach einem Text welcher immer gleich ist und vor dem gewünschten value liegt. P2 liegt ja leider nach dem Wert. P1 liegt aber vor dem gewünschten value.
        Somit wäre dei Befehlserkennung:
        Code:
        sensordatavalues\iP1\i\ivalue\i\i":"\i\v
        LG Romildo

        Kommentar


        • romildo
          romildo kommentierte
          Kommentar bearbeiten
          Es gibt User die haben im gleichen Zeitraum 2289 und solche die haben nur 1553 Einträge.
          Welcher von beiden drängelt da jetzt vor und welcher hat einen gewissen Nachholbedarf? ;-)

        • svethi
          svethi kommentierte
          Kommentar bearbeiten
          Hihi, ich würde mal sagen ... ich habe halt mehr zu sagen ;-)

        • Michael Sommer
          Michael Sommer kommentierte
          Kommentar bearbeiten
          Ihr seid halt "Streber"
          Gruß Michael (ist nicht böse gemeint)
      • svethi
        Lebende Foren Legende
        • 25.08.2015
        • 6346

        #5
        admin bitte verschieben
        Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

        Kommentar

        • gelbetomate
          Azubi
          • 23.01.2016
          • 6

          #6
          Ich habe mir nun auch so einen Sensor gebaut. Muss doch den Beweis aufstellen, das Feinstaub eine Lüge ist und nicht existiert ;-)

          Spass beiseite, das ist ein fertiges Projekt, mit dem man auch über einen zusätzlichen BME Lufdruck, Luftfeuchtigkeit und Temperatur in ausreichender Genauigkeit gleich live mitbekommt. Der Aufwand das zu bauen besteht hauptsächlich darin zu Warten bis das Zeug aus China dann mal da ist. Wobei die Lieferzeiten mit 2-3 Wochen ernorm kurz sind.

          Im Moment fehlt noch ein Gehäuse und die Anmeldung bei luftdaten.info aber das ist nur eine Frage der Zeit bis das geht und an der Wand montiert ist. Hat wer schon die Werte direkt aus dem Sensor ausgelesen? Also direkt aus dem eigenen Netzwerk, ohne über die URL der Seite zu gehen.

          Ist wahrscheinlich nicht schwierig, es gibt Beispiele für FHEM usw. Nur bevor ich das nun neu für den MS erfinde, frage ich mal so in die Runde?

          Kommentar

          • gelbetomate
            Azubi
            • 23.01.2016
            • 6

            #7
            würde mich trotzdem über Kommentare freuen was man mit den Feinstaub-Sensordaten machen kann...

            Mit der Temperatur, Lufdruck und Luftfeuchte kann ich schon was sinnvolles machen aber für Feinstaub fehlt mir noch eine Idee...
            - evtl. bei viel Feinstaub das Kaminrohr verschliessen und die Abgase durch die KWL zum Filtern jagen...
            - Warnmeldung bei hoher Verschmutzung und Hinweis, sofort seinen Mundschutz anzulegen....
            (bin gerade etwas scherzhaft unterwegs :-))

            einfach nur in der App anzeigen und sich Gedanken über die Verschmutzung zu machen ist natürlich auch schon was.

            Ich habe jetzt herausgefunden, dass ich die Daten von meinem Sensor auch über die lokale IP so im json format bekomme:

            http://{ip-des-sensors}/data.json

            wie unter https://luftdaten.info/faq/#toggle-id-8 beschrieben.

            gut, dann ein virtueller Eingang und wie oben beschrieben die Werte auslesen... ein Beispiel wie das json bei mir aussieht (Daten sind nicht sinnvoll, Sensor liegt im Büro und der Sensor muss erstmal warm laufen):

            {"software_version": "NRZ-2017-099", "age":"8", "sensordatavalues":[{"value_type":"SDS_P1","value":"23.43"},{"value_ty pe":"SDS_P2","value":"12.40"},{"value_type":"tempe rature","value":"22.00"},{"value_type":"humidity", "value":"38.60"},{"value_type":"BME280_temperature ","value":"21.39"},{"value_type":"BME280_humidity" ,"value":"33.28"},{"value_type":"BME280_pressure", "value":"99483.39"},{"value_type":"samples","value ":"592028"},{"value_type":"min_micro","value":"236 "},{"value_type":"max_micro","value":"223698"},{"v alue_type":"signal","value":"-77"}]}

            Kommentar


            • jousch
              jousch kommentierte
              Kommentar bearbeiten
              Was mir noch nicht klar ist: Gibt es eine Möglichkeit in der Loxone Visualisierung den Wert anzuzeigen lassen und diesen anders zu färben wenn er ungewöhnlich hoch ist? Bzw. lassen sich damit auch Push-Notifications versenden?
          • yaUser
            Dumb Home'r
            • 27.07.2018
            • 22

            #8
            Guten Abend zusammen,

            ich habe die ganze Zeit einen an den Luftdatensensor angeschlossenen BME280 mit Hilfe dieser Anleitung über die API-URL in Loxone ausgelesen.
            Bisher kamen die Daten über die API folgendermaßen an (wie auch im Wiki):
            "sensordatavalues":[{"id":5993353994,"value_type":"temperature","value ":"-0.64"}, ...]
            Diese konnte ich so auslesen:
            sensordatavalues\ihumidity\i\ivalue\i\i":"\i\v

            Nun bekomme ich aber keine Daten mehr, da die Werte jetzt so ankommen:
            "sensordatavalues":[{"value":"7.58","id":6046865277,"value_type":"temp erature"}, {"value":"99536.41","id":6046865283,"value_type":" pressure"}, ...]

            Irgendwie bekomme ich das aber mit der Syntax nicht richtig hin.
            Kann mir da vielleicht jemand helfen?

            Kommentar

            • romildo
              Lebende Foren Legende
              • 25.08.2015
              • 5169

              #9
              yaUser
              Hallo,
              Du solltest schreiben, was Du genau auslesen möchtest und dazu sollten die Rohdaten komplett sein, damit man weiss was genau ankommt.

              Beispiel Befehlserkennung:
              sensordatavalues\ihumidity\i\ivalue\i\i":"\i\v
              sensordatavalues = es wird von Beginn weg nach dem Text senosrdatavalues gesucht. Der Zeiger steht nun hinter diesem Text.
              \ihumidity\i = es wird nach dem Text humidity gesucht und nun steht der Zeiger hinter diesem Text.
              \i":"\i = es wird nach dem Text ":" inklusive " gesucht und der Zeiger dahinter gesetzt.
              \v = gibt den Wert nur aus, sofern da auch ein Zahlenwert und nichts anderes steht.
              LG Romildo

              Kommentar

              • yaUser
                Dumb Home'r
                • 27.07.2018
                • 22

                #10
                Hallo Romildo,

                hier meine Rohdaten (nur die Koordinaten und die ID sind ersetzt):

                [{"sampling_rate":null,"sensordatavalues":[{"value":"68.21","id":6049077642,"value_type":"hum idity"},{"value":"99296.68","id":6049077644,"value _type":"pressure"},{"value":"6.91","id":6049077641 ,"value_type":"temperature"},{"value":101280.53,"v alue_type":"pressure_at_sealevel"}],"sensor":{"sensor_type":{"manufacturer":"Bosch"," name":"BME280","id":17},"pin":"11","id":00000},"lo cation":{"longitude":"0.00","country":"DE","id":85 05,"altitude":"0.00","latitude":"0.00"},"id":28475 92628,"timestamp":"2019-02-08 21:22:25"},{"sampling_rate":null,"sensordatavalues ":[{"value":"68.47","id":6049103887,"value_type":"hum idity"},{"value":"99292.37","id":6049103888,"value _type":"pressure"},{"value":"6.86","id":6049103886 ,"value_type":"temperature"},{"value":101276.49,"v alue_type":"pressure_at_sealevel"}],"sensor":{"sensor_type":{"manufacturer":"Bosch"," name":"BME280","id":17},"pin":"11","id":00000},"lo cation":{"longitude":"0.00","country":"DE","id":85 05,"altitude":"0.00","latitude":"0.00"},"id":28476 05070,"timestamp":"2019-02-08 21:24:53"}]

                Die Befehlserkennung, die du als Beispiel angeführt hast, hatte ich mir auch zusammengebastelt; allerdings ohne genaues Verständnis, was ich da mache
                (Vielen Dank an der Stelle für die Erklärung.)
                Leider war das ohne Erfolg; damit kommen keine Werte am MS an.

                Kommentar


                • yaUser
                  yaUser kommentierte
                  Kommentar bearbeiten
                  Das sieht schon mal ganz gut aus...zumindest für den Moment ;-)
                  Ich habe die Befehlserkennung für Luftdruck2 (pressure) entsprechend angepasst:
                  humidity"}\ivalue\i\ihumidity"}\i\ivalue":"\i\v

                  Wie würde denn dann noch die Befehlserkennung für Luftfeuchtigkeit2 (humidity) aussehen?

                  Aber ich gebe euch Recht, das hat so auf Dauer sicherlich keinen Sinn.
                  Ich habe gesehen, dass es ein FHEM Modul für Luftdaten.info gibt. Das werden ich mir mal anschauen, vor allem, wie ich dann die Daten am besten in Loxone bekommen.

                • romildo
                  romildo kommentierte
                  Kommentar bearbeiten
                  Du hast es vermutlich mit
                  sensordatavalues"}\ivalue\i\isensordatavalues"}\i\ ivalue":"\i\v
                  versucht.
                  Es ist doch ganz einfach, der Suchtext muss genauso in den Daten enthalten sein.
                  dort steht aber keine } hinter sensordatavalues"

                  Im Moment müsste es so funktionieren:
                  sensordatavalues"\ivalue":"\i\v
                  sensordatavalues"\ivalue\i\isensordatavalues"\i\iv alue":"\i\v

                  und auch so:
                  sensordatavalues\ivalue":"\i\v
                  sensordatavalues\ivalue\i\isensordatavalues"\i\iva lue":"\i\v

                • yaUser
                  yaUser kommentierte
                  Kommentar bearbeiten
                  Erst mal noch vielen Dank für die Befehlserkennung; die funktioniert gut.
                  Ich habe mir am Wochenende aber trotzdem mal das FHEM Modul angeschaut und eingerichtet.
                  Das Modul holt sich jetzt die Daten von Luftdaten.info und FHEM schickt diese dann per UDP an Loxone.
                  Somit bin ich (hoffentlich) nicht mehr abhängig von einer sich ständig ändernden Befehlserkennung.
              • phil84
                Smart Home'r
                • 05.12.2017
                • 65

                #11
                Hallo,

                kann mir jemand weiterhelfen. Folgende Rohdaten habe ich vom Sensor:
                {"software_version": "NRZ-2019-125-B1", "age":"4", "sensordatavalues":[{"value_type":"SDS_P1","value":"66.00"},{"value_ty pe":"SDS_P2","value":"37.10"},{"value_type":"tempe rature","value":"179.70"},{"value_type":"humidity" ,"value":"2252.80"},{"value_type":"samples","value ":"2292841"},{"value_type":"min_micro","value":"55 "},{"value_type":"max_micro","value":"21001"},{"va lue_type":"signal","value":"-88"}]} Ich möchte die zwei Werte SDS_P1 und SDS_P2 in Loxone einbinden. Wie muss die Befehlserkennung denn beim virtuellen Eingang lauten?

                Kommentar


                • romildo
                  romildo kommentierte
                  Kommentar bearbeiten
                  SDS_P1","value":"\v
                  SDS_P2","value":"\v

                • svethi
                  svethi kommentierte
                  Kommentar bearbeiten
                  SDS_P1","value":"\v
                  SDS_P2","value":"\v
                  ?

                • svethi
                  svethi kommentierte
                  Kommentar bearbeiten
                  Es sei denn, dass was Du da gepostet hast sind nicht die Rohdaten
              • phil84
                Smart Home'r
                • 05.12.2017
                • 65

                #12
                das sind die Rohdaten. Aber in Loxone zeigt er 0,0 an. Wenn ich die Werte über den Explorer abfrage, dann zeigt er die gemessenen Werte an. Hast du eine Idee woran das liegt?

                Kommentar


                • romildo
                  romildo kommentierte
                  Kommentar bearbeiten
                  Du solltest mal die Einstellungen zeigen, sonst wird das nur ein Ratespiel.
              • phil84
                Smart Home'r
                • 05.12.2017
                • 65

                #13
                habe es gelöst :-)
                Zuletzt geändert von phil84; 26.11.2019, 11:43.

                Kommentar


                • svethi
                  svethi kommentierte
                  Kommentar bearbeiten
                  Und wo war nun der Fehler?
              Lädt...