Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Luft-Messdaten von OpenSenseMap auslesen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Luft-Messdaten von OpenSenseMap auslesen

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators @paul53 last edited by Homoran

      @paul53
      Danke!
      sehe ich mir später an - habe gerade noch eine Baustelle gefunden.

      Aber wenn ich dich schon gerade dran habe 😉
      Wie lege ich einen State (eigentlich channel) an, in dem ich den Namen übergebe?

      createState('Luftdaten.' + Station +".", {type:'device', read:true, write:false, name:StationName});
      

      klappt nicht - da wird ein State angelegt . (heisst ja auch setState und nicht setChannel oder setDevice 😉 )
      state_statt_Channel.png

      oder ist das prinzipiell egal?

      Hier habe ich mit einem Timeout gearbeitet, damit der Datenpunkt mit ID und Namen rechtzeitig vor den Sensorstates fertig ist.
      DP_station_Timeout.png

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @Homoran last edited by

        @Homoran sagte:

        ist das prinzipiell egal?

        Mit createState() kann man keine Objekte vom Typ "channel" oder "device" erzeugen, sondern nur Datenpunkte. setObject() ist aus gutem Grund nicht in Blockly vorhanden, weil man bei setObject() genau wissen muss, was man tut. Bei fehlerhaftem Gebrauch kann man sich den gesamten ioBroker zerschiessen.

        Homoran 1 Reply Last reply Reply Quote 0
        • Homoran
          Homoran Global Moderator Administrators @paul53 last edited by Homoran

          @paul53
          OK!
          Danke!

          Habe gerade deine Version geladen - da hast du ja schon meine nächste Baustelle drin.

          i from 1 to n

          Das sehe ich mir näher an.

          Aber du hast ja wie befürchtet 😉 fast alles umgekrempelt - das muss ich jetzt erst einmal nachvollziehen können

          EDIT - und doch mit json Auswertung gearbeitet 😞

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @Homoran last edited by paul53

            @Homoran sagte:

            und doch mit json Auswertung gearbeitet

            JSON in ein Objekt zu wandeln und dann auf die Attribute des Objektes zuzugreifen, ist wesentlich einfacher, als den String zu analysieren.

            EDIT: Ergänze besser die Verwendung von "sensorType" für die ID um den Punktkiller().

            Homoran 1 Reply Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @paul53 last edited by

              Ich fange langsam an dein Skript nachvollziehen zu können

              @paul53 sagte in Luft-Messdaten von OpenSenseMap auslesen:

              JSON in ein Objekt zu wandeln und dann auf die Attribute des Objektes zuzugreifen, ist wesentlich, einfacher als den String zu analysieren.

              Das hatte ich mir gedacht, aber ich bin/war noch nicht ganz soweit 😉

              Geht denn überhaupt etwas wie Länge von in Blockly mit Texten?

              • Also die Anzahl einer Fundstelle eines RegEx zu ermitteln?

              @paul53 sagte in Luft-Messdaten von OpenSenseMap auslesen:

              EDIT: Ergänze besser die Verwendung von "sensorType" für die ID um den Punktkiller().

              Das wäre meine erste Frage gewesen, weil die IDs noch Leerzeichen enthalten

              jetzt muss ich noch den Namen der Messstelle in das name-Feld der ID bringen
              Ich hatte den State extra als RW genommen, damit man sich den anpassen kann

              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @Homoran last edited by paul53

                @Homoran sagte in Luft-Messdaten von OpenSenseMap auslesen:

                den Namen der Messstelle in das name-Feld der ID bringen

                Dann muss anstelle der Variable Station nur die schon existierende Variable Name genommen werden.

                Blockly_temp.JPG

                Luftdaten.JPG

                Homoran 2 Replies Last reply Reply Quote 0
                • Homoran
                  Homoran Global Moderator Administrators @paul53 last edited by

                  @paul53
                  und das habe ich bei der Bearbeitung von json noch nicht verstanden.
                  Dieses Json ist ein (sehr) verschachteltes solches.

                  name kommt eigentlich nur bei der Station vor, du nutzst es aber doch auch bei den Sensoren

                  paul53 1 Reply Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators @paul53 last edited by Homoran

                    @paul53
                    Jetzt ist gerade dein EDIT aufgepoppt

                    Ich wollte den Namen in das Name Feld des Sensors bringen - zusätzlich zur ID
                    Ich weiß nämlich nicht ob der Name eindeutig ist

                    paul53 1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 @Homoran last edited by paul53

                      @Homoran sagte:

                      name kommt eigentlich nur bei der Station vor, du nutzst es aber doch auch bei den Sensoren

                      Die globale Variable Name enthält den Stationsnamen. Die lokale Variable Name (Funktionsparameter) enthält das Attribut "title" des Sensors.

                      1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 @Homoran last edited by

                        @Homoran sagte :

                        zusätzlich zur ID
                        Ich weiß nämlich nicht ob der Name eindeutig ist

                        Diese Modifikation der ID sollte nicht schwer fallen ?

                        Homoran 1 Reply Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators @paul53 last edited by

                          @paul53
                          Nicht dass ich mich schon wieder unpräzise ausgedrückt habe (ich weiß doch was ich meine 😉 )

                          Es soll so aussehen:
                          state_statt_Channel.png

                          Bisher wird die ID nicht einzeln als DP angelegt sondern nur als "Pfad" zum Sensor.
                          Außerdem soll der Name Editirbar sein.
                          Einige Stationen heißen z.B. "Station" - das hilft keinem

                          paul53 1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @Homoran last edited by

                            @Homoran sagte:

                            Außerdem soll der Name Editirbar sein.

                            Habe ich Dich falsch verstanden ? Du möchtest den Stationsnamen im Namen des Datenpunktes haben und nicht in der ID ?

                            Homoran 1 Reply Last reply Reply Quote 0
                            • Homoran
                              Homoran Global Moderator Administrators @paul53 last edited by

                              @paul53 sagte in Luft-Messdaten von OpenSenseMap auslesen:

                              @Homoran sagte:

                              Außerdem soll der Name Editirbar sein.

                              Habe ich Dich falsch verstanden ? Du möchtest den Stationsnamen im Namen des Datenpunktes haben und nicht in der ID ?

                              Ja!

                              paul53 1 Reply Last reply Reply Quote 0
                              • paul53
                                paul53 @Homoran last edited by

                                @Homoran
                                Also etwa so ?

                                Blockly_temp.JPG

                                Homoran 1 Reply Last reply Reply Quote 0
                                • Homoran
                                  Homoran Global Moderator Administrators @paul53 last edited by Homoran

                                  @paul53 weiss nicht - den part habe ich noch nicht komplett intus - sorry!

                                  Das soll herauskommen:
                                  ID_Name.png

                                  MAP1 ist editierbar!


                                  So habe ich es "gelöst":
                                  ID_Name_Blockly.png


                                  Und dabei die Funktion Stations-DP anlegen mit createState('Luftdaten.' + Station, {type:'device', read:true, write:true, name:Name}); im Vorfeld verwendet

                                  paul53 1 Reply Last reply Reply Quote 0
                                  • paul53
                                    paul53 @Homoran last edited by

                                    @Homoran
                                    Ach, Du hast einen zusätzlichen Datenpunkt angelegt. type = 'device' ist unzulässig !

                                    Homoran 1 Reply Last reply Reply Quote 0
                                    • Homoran
                                      Homoran Global Moderator Administrators @paul53 last edited by Homoran

                                      @paul53 sagte in Luft-Messdaten von OpenSenseMap auslesen:

                                      @Homoran
                                      type = 'device' ist unzulässig !

                                      Ja - das waren noch die Knochen von meinem ersten Versuch - das Thema hatten wir ja schon.
                                      Muss ich noch ändern

                                      EDIT: cool ist ein Bool geworden 😉

                                      Ach, Du hast einen zusätzlichen Datenpunkt angelegt.

                                      geht es anders?

                                      paul53 1 Reply Last reply Reply Quote 0
                                      • paul53
                                        paul53 @Homoran last edited by

                                        @Homoran sagte:

                                        geht es anders?

                                        Nicht mit createState(). Ich würde die Funktion erzeugeZahlDP() mit verwenden.

                                        Blockly_temp.JPG

                                        Homoran 1 Reply Last reply Reply Quote 1
                                        • Homoran
                                          Homoran Global Moderator Administrators @paul53 last edited by Homoran

                                          @paul53 sagte in Luft-Messdaten von OpenSenseMap auslesen:

                                          Ich würde die Funktion erzeugeZahlDP() mit verwenden.

                                          ok - das ist dann eine Funktion weniger un Name ist da ja auch RW 😉

                                          Ich hätte das aus "Strukturgründen" deshalb ja lieber als channel gehabt.

                                          Und dummy kommt dann in den Pfad bei den Sensor-States statt Station?

                                          paul53 2 Replies Last reply Reply Quote 0
                                          • paul53
                                            paul53 @Homoran last edited by paul53

                                            @Homoran sagte:

                                            Und dummy kommt dann in den Pfad bei den Sensor-States statt Station?

                                            Nein, dummy ist das, was der Bezeichner sagt. Die Variable wird nur benötigt, weil die Funktion einen Wert zurück gibt, der an dieser Stelle nicht benötigt wird.

                                            1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            945
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly climate monitoring
                                            4
                                            59
                                            3316
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo