Uhrzeit mittels Fhem auf den KNX-Bus senden ? (Zeitgeber)

Begonnen von Peter-FL, 15 September 2014, 21:43:26

Vorheriges Thema - Nächstes Thema

Peter-FL

Hallo,

besteht die Möglichkeit mittels Fhem ein Zeitsignal auf den KNX Bus zu senden? Über die ETS Software kann ich mittels einer angelegten Gruppenadresse die aktuelle Zeit senden. Wäre schön wenn man das in Fhem automatisieren könnte da meine Gira Tastsensoren nach nur 24h um einige Minuten falsch gehen. Normalerweise wird dafür wohl ein Zeitgeber (~100€) eingesetzt...

VG
Peter

gki

Hallo Peter,

Ja.

http://fhem.de/commandref.html#EIB

http://forum.fhem.de/index.php/topic,10681.msg76533.html#msg76533

Antwort #5

   define timedev EIB 0/0/7
   attr timedev model time
   attr timedev eventMap /value now:now/
   attr timedev webCmd now
   
   define datedev EIB 0/0/8
   attr datedev model date
   attr datedev eventMap /value now:now/
   attr datedev webCmd now
   
   # send every midnight the new date
   define dateset at *00:00:00 set datedev value now
   
   # send every hour the current time
   define timeset at +*01:00:00 set timedev value now


Gruß,
Ines

Das Forum hat auch eine Suchfunktion  :) http://forum.fhem.de/index.php?action=search

Peter-FL

Hallo Ines,

vielen Dank für die schnelle Lösung meines Problems. Funktioniert super...

Ich habe vorher natürlich die Suchfunktion bemüht aber zu dem Stichwort "Zeitgeber" oder "Zeitsignal" (Begriffe aus der ETS) keine Treffer erzielt. Vielleicht hilft es ja dem Nächsten die Lösung jetzt auch unter diesen Suchbegriffen zu finden:)

Gruß
Peter

chrisb101

Hallo zusammen,

hoffe ich darf mich hier mal einklinken. ;-)

Ich habe das nun ebenfalls genauso implementiert, allerdings kommt auf den TS2+ nicht die korrekte Uhrzeit an. Seltsamerweise immer nur eine Uhrzeit zwischen 3 und 5.
Ist doch richtig dass 0/0/7 und 0/0/8 jeweils die Gruppenadressen im KNX für Datum und Uhrzeit sind, oder?

Zudem sendet wohl FHEM nicht den Tag mit auf den Bus, dieser fehlt dann bei der Heizungsprogrammierung im Tastsensor.
Sehe ich das richtig?

Gruss
Christian


Monosurround

Hallo Christian,

Bei mir funktionierte es mit einem TS3+ genau so.

Nur die Gruppenadresse für die Uhrzeit per ETS als Kommunikationsobjekt im Tastsensor eingetragen und seit dem wird die Uhrzeit von Fhem empfangen.

Wenn du das Beispiel genau so übernommen hast sendet Fhem jede Stunde die Uhrzeit auf den Bus.

# send every hour the current time
   define timeset at +*01:00:00 set timedev value now
Fhem on Pi3B (Buster): KNXD, HM-LAN, SIGNALduino, ....

chrisb101

Hi,

ok dann funktioniert zumindest das Senden der Uhrzeit auf den Bus. ;-)
Allerdings zeigen die Gira TS2+ eine Uhrzeit an welche exakt 5 Stunden in der Zukunft liegt. :-(

Dass Problem mit dem fehlenden Wochentag hab ich immernoch. Ist das bei Dir gelöst?
Ist lt. Gira Doku für die die Heizungssteuerung notwendig.

Gruss

Monosurround

Bei mir zeigt Fhem mit den oben geposteten Einstellungen folgendes:

timedev Uhrzeit bspw. 19:04:38 und dem Button now

Wenn ich now klicke schickt Fhem bei mir auch 13 04 auf dem Bus.

Angezeigt wird aber 19:04 am Tastsensor

Mit dem Datum hab ich mich bisher nicht weiter beschäftigt
Fhem on Pi3B (Buster): KNXD, HM-LAN, SIGNALduino, ....

apairon

Zitat von: chrisb101 am 05 Januar 2015, 18:23:08
Dass Problem mit dem fehlenden Wochentag hab ich immernoch. Ist das bei Dir gelöst?
Ist lt. Gira Doku für die die Heizungssteuerung notwendig.

Das Problem hatte ich auch, siehe Patch: http://forum.fhem.de/index.php/topic,34611.0.html

reTOric

Hallo,

ich bin gerade dabei mein KNX System aufzusetzen und hab ein komplett neues FHEM am laufen.
Nun wollte ich wie in der commandref aufgeführt Zeit und Datum über den Bus senden.

define timedev EIB 0/0/7
      attr timedev model dpt10
      attr timedev eventMap /value now:now/
      attr timedev webCmd now
     
      define datedev EIB 0/0/8
      attr datedev model dpt11
      attr datedev eventMap /value now:now/
      attr datedev webCmd now
     
      # send every midnight the new date
      define dateset at *00:00:00 set datedev value now
     
      # send every hour the current time
      define timeset at +*01:00:00 set timedev value now


Bekomme aber im Logfile diese Meldungen.

PERL WARNING: Use of uninitialized value $FW_id in hash element at ./FHEM/01_FHEMWEB.pm line 680.
2015.11.19 13:18:47 1: PERL WARNING: Use of uninitialized value $yyyy in subtraction (-) at ./FHEM/10_EIB.pm line 678.
2015.11.19 13:18:47 1: PERL WARNING: Use of uninitialized value $mm in left bitshift (<<) at ./FHEM/10_EIB.pm line 678.
2015.11.19 13:18:47 1: PERL WARNING: Argument "now" isn't numeric in left bitshift (<<) at ./FHEM/10_EIB.pm line 678.
2015.11.19 13:18:47 1: PERL WARNING: Hexadecimal number > 0xffffffff non-portable at ./FHEM/10_EIB.pm line 862.
2015.11.19 13:18:47 1: PERL WARNING: Use of uninitialized value $FW_id in concatenation (.) or string at ./FHEM/01_FHEMWEB.pm line 745.
2015.11.19 13:20:18 1: PERL WARNING: Use of uninitialized value $mm in left bitshift (<<) at ./FHEM/10_EIB.pm line 635.
2015.11.19 13:20:18 1: PERL WARNING: Use of uninitialized value $ss in addition (+) at ./FHEM/10_EIB.pm line 635.
2015.11.19 13:20:18 1: PERL WARNING: Argument "now" isn't numeric in left bitshift (<<) at ./FHEM/10_EIB.pm line 635.


Im STATE von Datedev steht immer 31.08.2048 im reading aber das aktuelle Datum.
Im STATE von Timedev steht 00:00:00 im Reading die aktuelle Zeit.

Kann bitte jemand helfen?
Viele Grüße
Henrik

Andi291

Abend!

Au weh - mir deucht, ich muss die Doku mal aufräumen.

Geht ganz easy - bitte nicht DPT10/11 verwenden, sondern date/time. Empfangene Telegramme werden ignoriert, gesendete enthalten immer die aktuelle Systemzeit.
Siehe Doku:

◦time -> receiving has no effect, sending any value contains actual system time
◦date -> receiving has no effect, sending any value contains actual system date

Was bei u.g. Skript klemmt - weiß nicht genau. Sieht nach einem Formatierungsproblem aus.

Grüße, Andi

reTOric

Hallo,

manchmal ist die Antwort so einfach. einfach mal die Augen auf machen und das Hirn anschalten. Sorry hätte ich auch sehen können wenn ich mir mal alle Elemente unter Model richtig angeschaut hätte. Ich verspreche Besserung. ;-)

Vielen Dank für die Hilfe.
Henrik

Andi291

Hallo Henrik,

ja, und wenn in der Doku kein Müll stände wärs noch einfacher :-P

Gut, wenn es funktioniert!

Schönen Abend!

Andi291

Servus!

so, habe nochmal geprüft.
So, wie es in der commandref drin steht, funktioniert es sogar. Dein Fehler waren "nur" die Datentypen...

Grüße, Andi

Alveole

#13
Hallo!
und wie funktioniert das nun nach der KNX Umstellung.
mit dpt10 und dpt11 gehts leider nicht.

define datedev KNX 1/1/1:dpt11
attr datedev IODev EIB
attr datedev eventMap /value now:now/
attr datedev webCmd now


define timedev KNX 1/1/0:dpt10
attr timedev IODev EIB
attr timedev eventMap /value now:now/
attr timedev webCmd now


bringt leider nicht das passende Ergebnis wie zuvor mit EIB

Andi291

Abend!

Müsste eigentlich funktionieren. Was passiert denn genau? Was sagt das verbose-5-log?

Grüße, Andi