Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Hilfe parser auslesen Wind aus .txt

    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

    Hilfe parser auslesen Wind aus .txt

    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      ChrisXY last edited by ChrisXY

      Passend zum Sturm wollt ich mal aus einer Wetterstation ein paar Werte auslesen.
      Das ganze habe ich im Fhem schon aber mit dem parser Adapter schaffe ich das irgendwie nicht.
      Kann mir wer helfen ?
      Code von FHEM:

      define wetter_waldniel HTTPMOD http://www.wetter-waldniel.de/all-sensors.txt 300
      attr wetter_waldniel userattr reading01Name reading01Regex reading02Name reading02OExpr reading02Regex
      attr wetter_waldniel reading01Name windboe
      attr wetter_waldniel reading01Regex last24h_wind0_gustspeedmax_kmh ([\d\.]+)
      attr wetter_waldniel reading02Name windboe_date
      attr wetter_waldniel reading02OExpr ($val=~m/^(\d\d\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)$/)?($2."-".$3." ".$4.":".$5):$val
      attr wetter_waldniel reading02Regex last24h_wind0_gustspeedmax_time ([\d\.]+)
      attr wetter_waldniel room Wettervorhersage
      

      Edit:
      last24h_wind0_gustspeedmax_kmh ([\d.]+) das klappt aber das mit der Zeit nicht. Wie kann man das direkt umrechnen ??

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

        @ChrisXY
        Da ist doch schon ein Regex drin.

        Wie lautet denn der Quelltext der Wetterstation?

        1 Reply Last reply Reply Quote 0
        • C
          ChrisXY last edited by

          hi,
          ja ich habe regex Übernommen diese Werte bekomme ich auch rein
          Aber die Zeit der letzten Böhe ist : 20200209132853
          Wie bekomme ich die Zeitangabe direkt umgewandelt ?
          In fhem geht das so: reading02OExpr ($val=~m/^(\d\d\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)$/)?($2."-".$3." ".$4.":".$5):$val

          Geht das im parser auch direkt oder muss ich das per Blockly machen?

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

            @ChrisXY ich kann dir ohne Quelltext nicht helfen

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

              @Homoran hä ? steht doch da oder was meinst du?
              http://www.wetter-waldniel.de/all-sensors.txt

              Damit lade ich die Geschwindigkeit :
              last24h_wind0_gustspeedmax_kmh ([\d.]+)

              Und hier die zeit der letzten böhe:
              last24h_wind0_gustspeedmax_time ([\d.]+)

              Das ist eine txt hab den Wert ja nun auch im iobroker aber diese Zahl die da setht ist wohl keine richtige Unixzeit .. da ich den Wert mal im Inetrnet eingegeben habe bei einem Umrechner .. Deswegen die hoffnung das ich das vielleicht wie in fhem direkt im regex umrechnen kann also im parser Adapter.

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

                @ChrisXY sagte in Hilfe parser auslesen Wind aus .txt:

                steht doch da

                Hab ich bis jetzt keinen Link gesehen 😞

                dann nimm mal:
                last24h_wind0_speedmax_time\s+(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})\n

                Datum und Uhrzeit wird zerlegt in Gruppen

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

                  @Homoran sagte in Hilfe parser auslesen Wind aus .txt:

                  @ChrisXY sagte in Hilfe parser auslesen Wind aus .txt:

                  steht doch da

                  Hab ich bis jetzt keinen Link gesehen 😞

                  dann nimm mal:
                  last24h_wind0_speedmax_time\s+(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})\n

                  Datum und Uhrzeit wird zerlegt in Gruppen

                  @ChrisXY sagte in Hilfe parser auslesen Wind aus .txt:

                  diese Zahl die da setht ist wohl keine richtige Unixzeit

                  Neee 😉
                  Das ist einfach ein Timestamp

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

                    @Homoran Danke scheint aber nicht zu klappen. Unter Objekte ist die Zahl dann nur Gelb aber immer noch als lange Zahl.
                    Habs aktuell per VIS gelöst und nehme die Zeit vom Objekt wenn es geändert wurde

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

                      @ChrisXY sagte in Hilfe parser auslesen Wind aus .txt:

                      Unter Objekte ist die Zahl dann nur Gelb aber immer noch als lange Zahl.

                      Was hast du denn gemacht?
                      Ich bin hier blind und kann nichts sehn was du tust.

                      Du arbeitest doch mit dem Parser-Adapter oder?
                      Du musst für JEDE Gruppe ein (gleiches) RegEx anlegen und dann nur die nummer von 0-5 ändern

                      Timestamp_parsen.png

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

                        Aus irgendeinem Grund geht es mit ioBroker-Parser tatsächlich nicht.
                        Man muss für jeden Teil des Timestamps doch einen eigenen RegEx machen. Dann geht es:
                        Timestamp_parsen_ioB.png

                        Sieht etwas komisch aus, weil die States alphabetisch sortiert werden

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

                          @Homoran gut das du es nochmal gepostet hast ich war schon am verzweifeln 😉
                          Das ist aber eher unpraktisch. Daher lese ich nun einfach die Aktualisierungszeit aus wenn der Wert Windböhe gesetzt wird.

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

                            @ChrisXY

                            ist aber kein Hexenwerk. du musst nur die Klammern verschieben, je nachdem welchen Teil des Timestamps du haben willst:

                            last24h_wind0_speedmax_time\s+\d\d\d\d\d\d\d\d\d\d\d\d(\d\d)
                            

                            Hier Sekunden

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            853
                            Online

                            31.8k
                            Users

                            80.0k
                            Topics

                            1.3m
                            Posts

                            monitoring
                            2
                            12
                            563
                            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