UDP Datumswert in Loxone anzeigen

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • beeper
    Smart Home'r
    • 31.08.2015
    • 47

    #1

    UDP Datumswert in Loxone anzeigen

    Hallo,

    ich bekomme von dem Netatmo PlugIn vom Loxberry einen Datumsstring per UDP geliefert. Wie genau muss ich diesen dann annehmen damit ich den per <v.u> anzeigen lassen kann? Irgendwie komme ich da nicht weiter. Die Befehlserkennung per \v liefert dann nur den Wert bis zum ersten Punkt oder Bindestrich. Beides schon probiert.

    Kann mir da vielleicht wer weiterhelfen?
    Danke
  • svethi
    Lebende Foren Legende
    • 25.08.2015
    • 6320

    #2
    Datum/Zeit werden in Loxone wie in Linux per Sekunden seit ... verwaltet. Bei Loxone glaube ich ab 1.1.2009. Es wäre also das Beste, wenn der Wert schon auf dem Loxberry umgerechnet würde und dann gleich als Loxone-Zeitwert übertragen wird.
    Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

    Kommentar

    • beeper
      Smart Home'r
      • 31.08.2015
      • 47

      #3
      Jau stimmt. Verrückt. Hatte schon mit 1.1.2970 probiert. Aber das Loxone ein anderes "epoch" Datum nutzt. Darauf bin ich natürlich nicht gekommen. Kaum ein wenig die Zeiten von links nach rechts und zurück gewandelt funktioniert es. Prima und herzlichen Dank.
      Hier mal noch meine python Anpassungen. Kann noch optimiert werden.

      # Delta von 1.1.1970 bis 1.1.2009 berechnen
      loxdelta = datetime.timedelta(seconds=1230768000)
      # Zeit von Netatmo zuweisen
      currtime = time.localtime(device["dashboard_data"][sensor])
      # Timewert von Netatmo in datetime wandeln, könnte aber auch direkt erfolgen
      dt = datetime.datetime.fromtimestamp(mktime(currtime))
      von der aktuellen zeit den Versatz 1970 - 2009 abziehen
      currLoxtime = dt - loxdelta

      Kommentar

      • Gast

        #4
        Hallo zusammen,

        ich komme leider nicht zurecht und würde mich über Unterstützung freuen.

        Mein Ziel ist es den Datum-/Zeitstempel eines Sensors auszulesen und darzustellen. Ich habe den UDP-Befehl eingerichtet.

        sensor.Sensor.device_info.last_time_online:\v

        Im Befehl steht der Inhalt dann folgendermaßen drin:
        [2019-08-09T16:52:19.632Z]

        Anzeige steht in der Config auf "<v.u>" und es wird aber nur 2009-01-01 00:00:00 dargestellt.

        Was muss ich nach der Befehlsabfrage eintragen? Muss ich ggf. ein kleines Programm einbauen, um die Zeiten zu berechnen (Pico C?)? Bin leider blutiger Anfänger....

        Danke für jede Unterstützung!

        Gruß
        matze333

        Kommentar

        • romildo
          Lebende Foren Legende
          • 25.08.2015
          • 5161

          #5
          Gast
          Hallo,

          Wie schon geschrieben geht das so nur, wenn der Sensor den Wert in Sekunden seit 1.1.2009 senden würde. Für Dein Beispiel müsste also die Zahl 334601539 kommen.

          Du kannst die Werte einzeln einlesen und mittels Statusbaustein wieder zusammenfügen.
          Also einen UDP-Eingang anlegen und darunter die 6 UDP-Befehle mit den jeweiligen Befehlserkennungen für Jahr, Monat, Tag, h, min, s.
          lg Romildo

          Kommentar

        • Gast

          #6
          Ich würde mich hier gleichmal dranhängen; Ich konnte durch Infos von romildo in einem Thread hier im Forum herausfinden, daß ich den Temperaturwert eines Sonoff TH16 via Logging per UDP an den Miniserver übertragen kann. Dafür habe ich in Tasmota also die IP und einen Port des Miniservers eingetragen und bekomme über diesen Port per UDP nun die Infos im UDP-Monitor von Loxone.

          sonoff-5050 ESP-RSL: tele/sonoff/SENSOR = {"Time":"2019-08-10T12:27:01","Epoch":1565436421,"DS18B20":{"Temper ature":25.0},"TempUnit":"C"}

          Ich benötige hier nur die Temperatur (gerne mit der ersten Kommastelle), bekomme den Wert aber nicht gefiltert. Mein nicht funktionierender Filter lautet
          sonoff-5050%20ESP-RSL:%20tele/sonoff/SENSOR%20=%20{"Time":"\i","Epoch":\i,"DS18B20":{"T emperature":\v},"TempUnit":"C"}

          Könnt ihr mir hier bitte auf die Sprünge helfen?
          Zuletzt geändert von Gast; 10.08.2019, 13:05.

          Kommentar

          • svethi
            Lebende Foren Legende
            • 25.08.2015
            • 6320

            #7
            Temperature“:\v vielleicht?
            Temperature“ : \v vielleicht auch so?
            Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

            Kommentar


            • romildo
              romildo kommentierte
              Kommentar bearbeiten
              Musstest Du Dich jetzt schon wieder vordrängeln?

            • svethi
              svethi kommentierte
              Kommentar bearbeiten
              Endlich war ich mal eher ;-)
          • romildo
            Lebende Foren Legende
            • 25.08.2015
            • 5161

            #8
            Gast
            Das geht viel einfacher als Du vermutlich denkst
            UDP Eingang Befehl auf Analog stellen.
            Einheit: <v.1>
            Befehlserkennung:
            Code:
            Temperature":\v
            lg Romildo

            Kommentar

            • Gast

              #9
              Danke romildo und svethi ! Mit
              Temperature":\v
              hat es geklappt - ich bin bei meinen Tests darauf reingefallen, daß die Live-Vorschau auf 0,0 geblieben ist. Als ich jetzt den Analogsensor in der Webansicht eingebaut habe, ist die Temperatur nach kurzer Zeit auch korrekt angezeigt worden. Danke euch!! Jetzt sehe ich die Boiler-Temperatur, kann die loggen und so optimieren, daß zukünftig mehr Solarstrom verbraucht wird...

              Kommentar

              Lädt...