Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Luftdate.info per Skript einlesen

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

Luftdate.info per Skript einlesen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
38 Beiträge 18 Kommentatoren 8.9k Aufrufe 8 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • K Online
    K Online
    Kueppert
    schrieb am zuletzt editiert von
    #2

    Cool, sieht ja Klasse aus bei dir. Hast du die Widgets vielleicht noch als Export, die du nutzt?

    Thx und Grüße, kueppert

    Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk

    UDM Pro, Intel NUC - ioBroker in Proxmox-VM, PiHole+Grafana&Influx+TasmoAdmin in LXCs, Raspberry Pi3 (als CCU), Zigbee-Stick Sonoff, Synology DS918+

    1 Antwort Letzte Antwort
    0
    • P Offline
      P Offline
      pix
      schrieb am zuletzt editiert von
      #3

      Hallo,

      danke fürs Feedback. Nein, die Widgets exportiere ich nicht. Das ist aber auch alles sehr einfach nachgebaut. Sind ja nur 5 Widgets + Navigation.

      Gruß

      Pix

      ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

      1 Antwort Letzte Antwort
      0
      • T Offline
        T Offline
        tempestas
        schrieb am zuletzt editiert von
        #4

        Das Thema Luft betrifft mich zwar nicht direkt, aber danke dafür, dass ich hier mal ein gutes Anschauungsbeispiel zum Thema Parsing fionde.

        Könnte mir bei meinem anstehenden Projekt gut helfen.

        <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

        1 Antwort Letzte Antwort
        0
        • F Offline
          F Offline
          fruehwi
          schrieb am zuletzt editiert von
          #5

          Hallo,

          das sieht ja sehr gut aus!

          Das ist ja timing, mein Sensor ist unterwegs und kommt am nächsten Montag!

          Gruße,

          Fruehwi

          1 Antwort Letzte Antwort
          0
          • F Offline
            F Offline
            fruehwi
            schrieb am zuletzt editiert von
            #6

            Hallo Pix,

            dein Skript funktioniert super.

            Konnte die Daten von Luftdaten einlesen.

            @all:

            Nun habe ich mir noch einen zweiten Sensor gebaut der in der Wohnung verbaut ist. (Kachelofen Überwachung) Dieser soll nicht die Daten an den Luftdaten.info Server senden.

            Daher möchte ich die Daten per Parser auslesen (IP-Sensor/values).

            <title>Aktuelle Werte</title>	[![](/images?name=luftdaten_logo)](/)	
            
            ### Feinstaubsensor
            
            	ID: 2221799
            MAC: A0:20:A6:21:E6:XX
            Firmware: NRZ-2017-092
            
            #### Übersicht » Aktuelle Werte
            
            | Sensor | Parameter | Wert |
            |   |
            | SDS011 | PM2.5 | 6.6 µg/m³ |
            | SDS011 | PM10 | 14.6 µg/m³ |
            |   |
            | DHT22 | Temperatur | 22.0 °C |
            | DHT22 | rel. Luftfeuchte | 59.0 % |
            |   |
            | WiFi | Signal | -62 dBm |
            | WiFi | Qualität | 76 % |
            
            [Zurück zur Startseite](/)
            
            [![](/images?name=cfg_logo)](http://codefor.de/)
            
            

            Laut https://regex101.com/habe ich die Kombinationen gefunden

            PM2.5

            (?:PM2[^]*)(?=[^]* class='r'>)([0-9.]{1,})
            

            PM10

            (?:PM10[^]*)(?=[^]* class='r'>)([0-9.]{1,})
            

            Temperatur

            (?:Temper[^]*)(?=[^]* class='r'>)([0-9.]{1,})
            

            Luftfreuchte

            (?:rel[^]*)(?=[^]* class='r'>)([0-9.]{1,})
            

            Hoffe das mir jemand helfen kann.

            Danke im voraus.

            Viele Grüße,

            Fruehwi

            1 Antwort Letzte Antwort
            0
            • A Offline
              A Offline
              andyb
              schrieb am zuletzt editiert von
              #7

              @pix:

              Hallo,

              danke fürs Feedback. Nein, die Widgets exportiere ich nicht. Das ist aber auch alles sehr einfach nachgebaut. Sind ja nur 5 Widgets + Navigation.

              Gruß

              Pix `
              OT: Kannst du mir erklären wie an dem Diagramm der transparente Hintergrund realisiert ist? Ist doch flot oder?

              1 Antwort Letzte Antwort
              0
              • P Offline
                P Offline
                pix
                schrieb am zuletzt editiert von
                #8

                So:

                Anwenderhintergrund: check

                Farbe: rgba(XX,XX,XX,0)

                261_bildschirmfoto_2017-07-27_um_15.42.28.jpg

                Gruß

                Pix

                ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                1 Antwort Letzte Antwort
                0
                • A Offline
                  A Offline
                  andyb
                  schrieb am zuletzt editiert von
                  #9

                  Dankeschön [emoji122]

                  1 Antwort Letzte Antwort
                  0
                  • C Offline
                    C Offline
                    ceerix
                    schrieb am zuletzt editiert von
                    #10

                    Hallo,

                    ich habe meinen Sensor auch mit dem Skript von pix eingebunden. Vielen Dank!

                    Habe mir nun ebenfalls eine View erstellt und die Karte der Sensoren per iFrame eingebunden.

                    Kann man hier irgendwie die Zoomstufe mit vorgeben?

                    Gruß Alex

                    1 Antwort Letzte Antwort
                    0
                    • P Offline
                      P Offline
                      pix
                      schrieb am zuletzt editiert von
                      #11

                      Hallo,

                      schön, dass es klappt. Die Zoomstufe wird im URL nach der Raute mitgegeben (min = 0; max = 13)

                      http://deutschland.maps.luftdaten.info/#13/50.8740/4.3853

                      Gruß

                      Pix

                      ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                      1 Antwort Letzte Antwort
                      0
                      • C Offline
                        C Offline
                        ceerix
                        schrieb am zuletzt editiert von
                        #12

                        @pix:

                        Hallo,

                        schön, dass es klappt. Die Zoomstufe wird im URL nach der Raute mitgegeben (min = 0; max = 13)

                        http://deutschland.maps.luftdaten.info/#13/50.8740/4.3853

                        Gruß

                        Pix `

                        Hat wunderbar geklappt. Danke!

                        Gruß Alex

                        1 Antwort Letzte Antwort
                        0
                        • L Online
                          L Online
                          Linedancer
                          schrieb am zuletzt editiert von
                          #13

                          Hallo,

                          danke für dieses hilfreiche Script.

                          Es funktioniert, holt die Daten, aber es bringt jedes mal die Javascript zum Stillstand. Hab ich leider erst gemerkt als einiges andere nicht wie erwartet funktioniert hatte.

                          Hab dem Luftdaten Script jetzt eine eigene Instanz spendiert sodas der Rest wenigstens unbeeinflusst läuft.

                          Hier mien Fehlerlog:

                          ! host.HTPC 2017-08-07 13:53:51.875 info Restart adapter system.adapter.javascript.1 because enabled
                          ! host.HTPC 2017-08-07 13:53:51.875 error instance system.adapter.javascript.1 terminated with code 6 (uncaught exception)
                          ! javascript.1 2017-08-07 13:53:15.125 info script.js.common.Luftdaten: Luftdaten aktualisiert
                          ! javascript.1 2017-08-07 13:53:15.125 info script.js.common.Luftdaten: registered 1 subscription and 1 schedule
                          ! javascript.1 2017-08-07 13:53:15.125 info Start javascript script.js.common.Luftdaten
                          ! javascript.1 2017-08-07 13:52:55.562 info received all objects
                          ! javascript.1 2017-08-07 13:52:52.609 info received all states
                          ! javascript.1 2017-08-07 13:52:43.812 info requesting all objects
                          ! javascript.1 2017-08-07 13:52:43.812 info requesting all states
                          ! javascript.1 2017-08-07 13:52:43.797 info starting. Version 3.3.11 in C:/iobroker/node_modules/iobroker.javascript, node: v4.4.7
                          ! host.HTPC 2017-08-07 13:52:39.952 info instance system.adapter.javascript.1 started with pid 5740
                          ! host.HTPC 2017-08-07 13:52:09.906 info Restart adapter system.adapter.javascript.1 because enabled
                          ! host.HTPC 2017-08-07 13:52:09.906 error instance system.adapter.javascript.1 terminated with code 0 (OK)
                          ! javascript.1 2017-08-07 13:52:09.718 error at emitNone (events.js:72:20)
                          ! javascript.1 2017-08-07 13:52:09.718 error at IncomingMessage.g (events.js:260:16)
                          ! javascript.1 2017-08-07 13:52:09.718 error at IncomingMessage. (C:\iobroker\node_modules\iobroker.javascript\node_modules\request\request.js:1091:12)
                          ! javascript.1 2017-08-07 13:52:09.718 error at Request.emit (events.js:169:7)
                          ! javascript.1 2017-08-07 13:52:09.718 error at emitOne (events.js:77:13)
                          ! javascript.1 2017-08-07 13:52:09.718 error at Request. (C:\iobroker\node_modules\iobroker.javascript\node_modules\request\request.js:1171:10)
                          ! javascript.1 2017-08-07 13:52:09.718 error at Request.emit (events.js:172:7)
                          ! javascript.1 2017-08-07 13:52:09.718 error at emitTwo (events.js:87:13)
                          ! javascript.1 2017-08-07 13:52:09.718 error at Request.self.callback (C:\iobroker\node_modules\iobroker.javascript\node_modules\request\request.js:188:22)
                          ! javascript.1 2017-08-07 13:52:09.718 error at Request._callback (script.js.common.Luftdaten:146:53)
                          ! javascript.1 2017-08-07 13:52:09.718 error TypeError: Cannot read property 'sensor' of undefined
                          ! javascript.1 2017-08-07 13:52:09.718 error uncaught exception: Cannot read property 'sensor' of undefined
                          ! javascript.1 2017-08-07 13:51:18.390 info script.js.common.Luftdaten: Luftdaten aktualisiert
                          ! javascript.1 2017-08-07 13:51:15.968 info script.js.common.Luftdaten: registered 1 subscription and 1 schedule
                          ! javascript.1 2017-08-07 13:51:15.890 info Start javascript script.js.common.Luftdaten
                          ! javascript.1 2017-08-07 13:51:13.890 info received all objects
                          ! javascript.1 2017-08-07 13:51:10.453 info received all states
                          ! javascript.1 2017-08-07 13:51:02.171 info requesting all objects
                          ! javascript.1 2017-08-07 13:51:02.156 info requesting all states
                          ! javascript.1 2017-08-07 13:51:02.140 info starting. Version 3.3.11 in C:/iobroker/node_modules/iobroker.javascript, node: v4.4.7
                          ! host.HTPC 2017-08-07 13:50:58.297 info instance system.adapter.javascript.1 started with pid 2968
                          ! host.HTPC 2017-08-07 13:50:28.280 info Restart adapter system.adapter.javascript.1 because enabled

                          gibt's hier Ideeen wie das zu beheben wäre?

                          –

                          Ciao, Gerhard

                          1 Antwort Letzte Antwort
                          0
                          • P Offline
                            P Offline
                            pix
                            schrieb am zuletzt editiert von
                            #14

                            Hallo,

                            das Fehlerhandling klappt noch nicht so recht.

                            Cannot read property 'sensor' of undefined

                            Wenn der Sensor mal keine Daten liefert, dann gibt es Probleme. Neulich war die SensorID meines nächsten Sensors auf Luftdaten.inof komplett verschwunden. Musste ich mir einen neuen Nächsten suchen….

                            Ich kann mal versuchen, mit einer weiter Abfrage einen Fehler beim Abarbeiten zu verhindern. Ich probiere es aus.

                            try {
                                    request(options, function (error, response, body) {
                                        if (!error && response.statusCode == 200) {              // kein Fehler, Inhalt in body
                                            var p1, p2;
                                            var json = JSON.parse(body);
                                            if (logging) log('JSON: ' + JSON.stringify(json));
                                            setState(pfad + 'json', JSON.stringify(json));
                                            if (json[0].sensor.id.toString() != undefined) {         // <--------- Abfrage hier neu
                                                setState(pfad + 'sensor_id', json[0].sensor.id.toString());
                                                // ... hier sind noch mehr Daten
                                            } else log('Fehler beim Parsen!", 'error');                 // <---------  Anweisung hier neu
                                        } else {
                                            log("StatusCode = "+response.statusCode);
                                            log(error,'error');                               // Error beim Einlesen
                                        }
                                    });
                                    log('Luftdaten aktualisiert');
                                } catch (e) {
                                    log('Fehler (try) Luftdaten.info: ' + e, 'error');
                                }
                            

                            Gruß

                            Pix

                            ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                            1 Antwort Letzte Antwort
                            0
                            • P Offline
                              P Offline
                              pix
                              schrieb am zuletzt editiert von
                              #15

                              Hallo,

                              habe nachgesehen und den gleichen Fehler gestern zwei drei mal gehabt:

                              2017-08-06 08:00:24.939  - [31merror[39m: javascript.2 uncaught exception: Cannot read property 'value' of undefined
                              2017-08-06 08:00:24.946  - [31merror[39m: javascript.2 TypeError: Cannot read property 'value' of undefined
                                  at Request._callback (script.js.Test.Test_Luftdaten:937:103)
                                  at Request.self.callback (/Users/pix/Documents/iobroker/node_modules/request/request.js:188:22)
                                  at emitTwo (events.js:87:13)
                                  at Request.emit (events.js:172:7)
                                  at Request. <anonymous>(/Users/pix/Documents/iobroker/node_modules/request/request.js:1171:10)
                                  at emitOne (events.js:77:13)
                                  at Request.emit (events.js:169:7)
                                  at IncomingMessage. <anonymous>(/Users/pix/Documents/iobroker/node_modules/request/request.js:1091:12)
                                  at IncomingMessage.g (events.js:260:16)
                                  at emitNone (events.js:72:20)
                                  at IncomingMessage.emit (events.js:166:7)
                              2017-08-06 08:00:25.212  - [31merror[39m: host.MacMini.local instance system.adapter.javascript.2 terminated with code 0 (OK)
                              2017-08-06 08:00:25.213  - [32minfo[39m: host.MacMini.local Restart adapter system.adapter.javascript.2 because enabled</anonymous></anonymous> 
                              

                              Bei mir sieht das Skript schon so aus:

                              ! ````
                              /* Luftdaten
                              ! Liest Daten eines Feinstaub-Sensors
                              von luftdaten.info aus
                              ! http://api.luftdaten.info/v1/sensor/####/
                              ! 05.06.2017 erstellt von Pix
                              10.07.2017 Code angepasst nach Fehler
                              12.07.2017 Fehler abfangen, wenn JSON leer
                              30.07.2017 Zoomstufe für VIS
                              */
                              ! const sensorid = "4395"; //
                              ! const logging = false;
                              const instanz = 'javascript.' + instance + '.';
                              const pfad = 'Luftdaten.' + sensorid + '.';
                              const cronStr = "14,29,44,59 * * * *";
                              ! function createStates () {
                              // Nur für VIS Bedienung
                              createState('Luftdaten.Zoom', {
                              name: 'Zoom',
                              desc: 'Zoomstufe Karte in VIS',
                              type: 'number',
                              min: 0,
                              max: 13,
                              def: 11
                              }, function () {
                              if (logging) log('Objekt ' + instanz + 'Luftdaten.Zoom erstellt');
                              });

                              // Allgemein   
                              createState(pfad + 'json', {
                                  name: 'JSON',
                                  desc: 'JSON Ausgabe',
                                  type: 'string',
                                  role: 'json'
                              }, function () {
                                  if (logging) log('Objekt ' + instanz + pfad + 'json erstellt');
                              });
                              

                              ! createState(pfad + 'sensor_id', {
                              name: 'ID',
                              desc: 'ID-Nummer des Sensors',
                              type: 'string',
                              role: 'text'
                              }, function () {
                              if (logging) log('Objekt ' + instanz + pfad + 'sensor_id erstellt');
                              });

                              createState(pfad + 'sensor_type', {
                                  name: 'Typ',
                                  desc: 'Type des Sensors',
                                  type: 'string',
                                  role: 'text'
                              }, function () {
                                  if (logging) log('Objekt ' + instanz + pfad + 'sensor_type erstellt');
                              });
                              

                              ! createState(pfad + 'location', {
                              name: 'Ort',
                              desc: 'Location des Sensors',
                              type: 'string',
                              role: 'text'
                              }, function () {
                              if (logging) log('Objekt ' + instanz + pfad + 'location erstellt');
                              });

                              createState(pfad + 'lat', {
                                  name: 'Latitude',
                                  desc: 'Geographische Lage des Sensors - Breite',
                                  type: 'number',
                                  unit: '°',
                                  role: 'val'
                              }, function () {
                                  if (logging) log('Objekt ' + instanz + pfad + 'latitude erstellt');
                              });
                              
                              createState(pfad + 'lon', {
                                  name: 'Longitude',
                                  desc: 'Geographische Lage des Sensors - Länge',
                                  type: 'number',
                                  unit: '°',
                                  role: 'val'
                              }, function () {
                                  if (logging) log('Objekt ' + instanz + pfad + 'longitude erstellt');
                              });
                              
                              createState(pfad + 'country', {
                                  name: 'Country Code',
                                  desc: 'Geographische Lage des Sensors - Landeskürzel',
                                  type: 'string',
                                  role: 'text'
                              }, function () {
                                  if (logging) log('Objekt ' + instanz + pfad + 'country erstellt');
                              });
                              
                              createState(pfad + 'Messung.timestamp', {
                                  name: 'Zeitstempel',
                                  desc: 'Zeitstempel der Messung',
                                  type: 'string',
                                  role: 'text'
                              }, function () {
                                  if (logging) log('Objekt ' + instanz + pfad + 'timestamp erstellt');
                              });
                              
                              createState(pfad + 'Messung.P1', {
                                  name: 'P1',
                                  desc: 'Messung P1',
                                  type: 'number',
                                  role: 'val',
                                  custom: {
                                      "influxdb.0": {
                                      "enabled": true,
                                      "changesOnly": true,
                                      "debounce": "",
                                      "retention": 63072000
                                      }
                                  }
                              }, function () {
                                  if (logging) log('Objekt ' + instanz + pfad + 'Messung.P1 erstellt');
                              });
                              

                              ! createState(pfad + 'Messung.P2', {
                              name: 'P2',
                              desc: 'Messung P2',
                              type: 'number',
                              role: 'val',
                              custom: {
                              "influxdb.0": {
                              "enabled": true,
                              "changesOnly": true,
                              "debounce": "",
                              "retention": 63072000
                              }
                              }
                              }, function () {
                              if (logging) log('Objekt ' + instanz + pfad + 'Messung.P2 erstellt');
                              });
                              ! createState(pfad + 'forceRefresh', {
                              name: 'aktualisieren',
                              desc: 'Werte neu einlesen',
                              type: 'boolean',
                              def: false,
                              role: 'indicator'
                              }, function () {
                              if (logging) log('Objekt ' + instanz + pfad + 'forceRefresh erstellt');
                              });
                              }
                              ! function readData() {
                              var request = require('request');
                              var options = {
                              url: 'http://api.luftdaten.info/v1/sensor/' + sensorid + '/',
                              headers: {
                              'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1'
                              }
                              };
                              try {
                              request(options, function (error, response, body) {
                              if (!error && response.statusCode == 200) { // kein Fehler, Inhalt in body
                              var p1, p2;
                              var json = JSON.parse(body);
                              if (logging) log('JSON: ' + JSON.stringify(json));

                                          if (JSON.stringify(json).length <= 2) {
                                              log ('JSON Daten sind nicht empfangbar', 'warn');
                                          } else {
                                              setState(pfad + 'json', JSON.stringify(json));
                                              setState(pfad + 'sensor_id', json[0].sensor.id.toString());
                                              setState(pfad + 'sensor_type', json[0].sensor.sensor_type.name + ' by ' + json[0].sensor.sensor_type.manufacturer);
                                              setState(pfad + 'location', json[0].location.id.toString());
                                              setState(pfad + 'lat', parseFloat(json[0].location.latitude));
                                              setState(pfad + 'lon', parseFloat(json[0].location.longitude));
                                              setState(pfad + 'country', json[0].location.country);
                                              setState(pfad + 'Messung.timestamp', json[0].timestamp);
                              
                                              if (json[0].sensordatavalues[0].value !== undefined && json[0].sensordatavalues[1].value !== undefined) {
                                                  p1 = json[0].sensordatavalues[0].value;
                                                  p2 = json[0].sensordatavalues[1].value;
                              
                                                  setState(pfad + 'Messung.P1', parseFloat(p1));
                                                  setState(pfad + 'Messung.P2', parseFloat(p2));
                                                  log('Luftdaten aktualisiert');
                                              } else {
                                                  log('Luftdaten nicht aktualisiert, da keine Messdaten', 'warn');
                                              }
                                          }
                                      } else {
                                          log("StatusCode = " + response.statusCode);
                                          log(error, 'error');                               // Error beim Einlesen
                                      }
                                  });
                              } catch (e) {
                                  log('Fehler (try) Luftdaten.info: ' + e, 'error');
                              }
                              

                              }

                              ! // regelmässige Wiederholungen
                              schedule(cronStr, readData);
                              ! // einmaliger Start bei Skriptstart
                              createStates();
                              setTimeout(readData, 1500);
                              ! // Start beim Setzen auf true
                              on(instanz + pfad + 'forceRefresh', function (obj) {
                              if (!obj.state.ack && obj.state.val) readData();
                              });
                              ! ````

                              Vielleicht kann noch jemand helfen?

                              Gruß

                              Pix

                              ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                              1 Antwort Letzte Antwort
                              0
                              • paul53P Offline
                                paul53P Offline
                                paul53
                                schrieb am zuletzt editiert von
                                #16
                                                    if (json[0].sensordatavalues[0].value !== undefined && json[0].sensordatavalues[1].value !== undefined) {
                                

                                Ändere mal die Abfrage in

                                                    if (json[0].sensordatavalues[0] && json[0].sensordatavalues[1]) {
                                
                                

                                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                1 Antwort Letzte Antwort
                                0
                                • P Offline
                                  P Offline
                                  pix
                                  schrieb am zuletzt editiert von
                                  #17

                                  Vielen Dank, paul53.

                                  Z.Zt. ist mein Lieblingssender wieder offline. Daher

                                  20:29:00.784	[warn]	javascript.2 script.js.Test.Test_Luftdaten: JSON Daten sind nicht empfangbar
                                  

                                  Es greift also die Abfrage:

                                                  if (JSON.stringify(json).length <= 2) {
                                                      log ('JSON Daten sind nicht empfangbar', 'warn');
                                                  }
                                  

                                  Wenn der Sender wieder online ist, werde ich die Code Korrektur prüfen können.

                                  Gruß

                                  Pix

                                  ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                                  1 Antwort Letzte Antwort
                                  0
                                  • L Online
                                    L Online
                                    Linedancer
                                    schrieb am zuletzt editiert von
                                    #18

                                    Hallo Pix,

                                    Hab die Änderung eingebaut. Scheint zu kaufen, allerdings kann ich noch nicht testen, da meine gewählte ID jetzt wieder sendet.

                                    Dank dir

                                    –

                                    Ciao, Gerhard

                                    1 Antwort Letzte Antwort
                                    0
                                    • P Offline
                                      P Offline
                                      pix
                                      schrieb am zuletzt editiert von
                                      #19

                                      Hier - für die Vollständigkeit - eine Darstellung mit Grafana.

                                      http://forum.iobroker.net/viewtopic.php … ana#p99946

                                      Pix

                                      ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                                      1 Antwort Letzte Antwort
                                      0
                                      • S Offline
                                        S Offline
                                        Solear
                                        schrieb am zuletzt editiert von
                                        #20

                                        @fruehwi:

                                        Nun habe ich mir noch einen zweiten Sensor gebaut der in der Wohnung verbaut ist. (Kachelofen Überwachung) Dieser soll nicht die Daten an den Luftdaten.info Server senden.

                                        Daher möchte ich die Daten per Parser auslesen (IP-Sensor/values).

                                        Laut https://regex101.com/habe ich die Kombinationen gefunden

                                        PM2.5

                                        (?:PM2[^]*)(?=[^]* class='r'>)([0-9.]{1,})
                                        

                                        PM10

                                        (?:PM10[^]*)(?=[^]* class='r'>)([0-9.]{1,})
                                        

                                        Temperatur

                                        (?:Temper[^]*)(?=[^]* class='r'>)([0-9.]{1,})
                                        

                                        Luftfreuchte

                                        (?:rel[^]*)(?=[^]* class='r'>)([0-9.]{1,})
                                        

                                        Hoffe das mir jemand helfen kann. `

                                        Hallo,

                                        bist du hier (oder jemand anderes) schon weiter?

                                        Ich möchte gerne einen Feinstaubsensor im Haus installieren und in iobroker auswerten, aber ohne über eine Cloud zu gehen. Analog zu den Dingern wie es die Luftreiniger haben (Xiaomi Air Purifer etc).

                                        Oder gibt es einen anderen Staubsensor den man einbinden kann?

                                        iobroker als LXC unter Proxmox

                                        1 Antwort Letzte Antwort
                                        0
                                        • A Offline
                                          A Offline
                                          Ace-k
                                          schrieb am zuletzt editiert von
                                          #21

                                          also erstmal , coole sache.

                                          Funktioniert und das Skript liest die Daten aus.

                                          Werde mir auch selber noch eine Station bauen.

                                          aber ich benötige bitte mal die erklärung der Daten.

                                          p1= PM10 ?

                                          p2= Pm2,5 ?

                                          Welcher Wert und welches Widget stellt mir die 24h anzeige dar?

                                          Besten Dank

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          877

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe