NEWS
KNX - Wie die aktuelle Uhrzeit auf den Bus senden?
-
Hallo, ich hoffe ich bin hier richtig mit meiner Frage.
Gibt es eine einfache Möglichkeit über iobroker oder evtl. Node-Red die aktuelle Uhrzeit auf den KNX Bus zu senden, quasi als Zeitserver?
Bin noch recht neu und wäre für einfache Vorschläge dankbar!
-
Hi - ich mache das wie folgt:
-
Dummy im Objektordner erstellen "KNX_Zeit" (dann kann man das Objekt auf für anderes noch mitbenutzen)
-
Script erstellen (ich nutze Blockly)
|Zeitplan /60***|und |aktualisiere KNX_Zeit" SS:mm:ss|
Code Sieht dann so aus:
Schedule("/60 * * * ", function () {
setState("knx.0.KNX_Zeit"/KNX_Zeit/, formatDate(new Date(), "hh:mm:ss"), true);
});*über Node Red schiebe ich dann "KNX-Zeit" auf die entsprechende (hoffentlich vorhandene) Gruppenadresse Zeit (bei mir ist das z.b. 9/1/1)
also Node "IOBroker KNX-Zeit->" ---------> "IOBroker Zeit (9/1/1)"
Somit haben alle meine MDT Glastaster die korrekte Uhrzeit
Nach anlegen von Objekten Node Red Adapter immer neu starten... sonst werden die da nicht angezeigt. Sicherlich geht das auch komplett mit Script - aber ich bin kein Programmierer - eher Node Red Fan -
-
Und nicht vergessen im KNX Uhrzeitobjekt "schreiben" zu setzen....
Ferner sollte die im Projekt auch korrekt angelegt sein (Datentyp)Wenn du noch Fragen hast - immer gerne!
-
Wow super Danke!
werde ich leider erst nach Ostern mal ausprobieren können.
Ich geb Bescheid ob es geklappt hat. = ) -
Ich nutze ein KNX-IP Interface mit integrierter Zeitserverfunktion, hat auch einen E-Mail server dabei. Zum nachrüsten natürlich nicht mehr optimal. Aber falls einer über den Thread stolpert
https://www.voltus.de/?cl=details&anid=9263a95a59150981e73f0ee0388211d0
-
Super Geil, hab es hinbekommen!
Veielen Dank für die Hilfe!
Ja das IP Interface von MDT steht auch auf meiner Notfall Einkaufsliste. Momentan habe ich ein RasPi mit dem Weinzierl BAOS Modul und knxd laufen, funktioniert überraschend gut. Sollte das Mucken machen wird das MDT gekauft.
Und wo ich hier schonmal Experten habe. Vielleicht kann mir bei dem nächsten Problem auch geholfen werden.
https://forum.iobroker.net/topic/21578/hue-über-knx-taster-dimmenDankeschön!
-
Hallo,
Bin auch recht frisch mit IO Broker unterwegs, und hänge an einem wahrscheinlich ganz einfachen Punkt.
Irgendwie habe ich das Gefühl das mein KNXZeitobjekt die falschen Einstellungen hat. Ich bekomme die Zeit nicht auf den KNX Bus gesendet. In das Objekt schreibt Blockly direkt rein, das funktioniert anscheinend. Kann jemand meine Einstellungen bitte mal vergleichen? -Vielen Dank für eure Hilfe! -
Hi,
also viel Ahnung habe ich nicht aber bei mir hat es so geklappt:
Das Script schreibt so wie vorgeschlagen auf ein Dummy Objekt bei mir im KNX Ordner. (KNX_ZEIT bzw. KNX_ZEIT_DATUM) Habe zwei Scripte gemacht, einmal für die Uhrzeit und einmal inkl. Datum.Das Objekt "Uhrzeit" ist die GA die die Uhrzeit für den Bus empfängt. Warum der Wert hier so komisch aussieht weiß ich nicht aber es funktioniert.
Dann habe ich über Node-Red den Dummy abfgefragt und auf die Gruppenadresse via KNX-Easy geschrieben.
-
Super! Danke für deine Hilfe!
Werde das heute Abend gleich mal eben ausprobieren. Muss jetzt erst eben weiter Fliesenlegen. Dann gehts wieder daran den WAF hochzuhalten!
-
Sooo... Fertig🤪
Node Red kapiere ich irgendwie nicht... (noch nicht, muss ich mich mal reinarbeiten)
Aber hier „meine“ Lösung des Problems:
Der Fehler bei mir lag bei mir darin das ich die „Uhrzeit“ steuern musste und nicht aktualisieren. Durch steuern scheinen die Daten dann erst an den KNX Kanal weitergesendet zu werden. (Denke ich)
-
Hmm.. Also bei mir ist es "aktualisiere"... sieht dann so aus:
Ist dein Zeitformat so gewollt?
In Node-Red musst du die KNX-Easy Palette installieren falls noch nicht geschehen.
Dann einfach einen ioBroker Input nehmen mit dem Objekt wo die Zeit drauf geschrieben wurde. Dann einen KNX-Easy Output mit deiner GA aus der ETS auf die die Zeit gesendet werden soll. beide verbinden und fertig. Deploy natürlich nicht vergessen. -
Der falsche Zeitplan ist mir erst nach dem Posten aufgefallen, läuft jetzt auch auf 60min. Das Zeitformat soll bei mir ohne Sekunden sein...
Ich glaube der Unterschied bei uns beiden liegt darin, das ich in der ETS direkt den Wert “Uhrzeit“ auf 0/4/1 angelegt habe. Beim Import wurde dann das Objekt Uhrzeit direkt angelegt und ist kein Dummy wie bei dir. Dadurch das es kein Dummy ist und „fertig verknüpft ist“ mit der KNX muss bei mir die Uhrzeit gesteuert werden. Du veränderst deine DummyUhrzeit im ersten Schritt und steuerst mit der NodeRed den Wert in einem 2.Schritt an KNX.
Schön ist das beide Wege laufen und man wirklich bei jedem individuell gucken muss was der „richtige“ Weg ist.
Mit NodeRed werde ich definitiv nochmal ausprobieren! Aber ich denke das werde ich am PC machen und nicht am Tablet, ist für den Anfang besser.
-
@Harry94 übrigens kann man hier bei der fritz box z.B. fritz.box als Zeitserver eingeben und somit das KNX Gateway aus dem Internet nehmen.
Sorgt für ein Plus an Sicherheit und die Zeitfunktion läuft weiter.
-
@Harry94 sagte in KNX - Wie die aktuelle Uhrzeit auf den Bus senden?:
Ich nutze ein KNX-IP Interface mit integrierter Zeitserverfunktion, hat auch einen E-Mail server dabei. Zum nachrüsten natürlich nicht mehr optimal. Aber falls einer über den Thread stolpert
https://www.voltus.de/?cl=details&anid=9263a95a59150981e73f0ee0388211d0
hier sollte das hin
-
Also das mit der Zeit habe ich hinbekommen, aber Datum bin ich irgendwie zu blöd.
Ich möchte gerne zyklisch über JavaScript Zeit und Datum verteilen, weil leider bei der Wetterstation der GPS Sensor nicht mehr will... In ETS sind die beiden Datenpunkte als 11.001 (date) und 10.001 (time of day) moduliert. iobroker hat es als value erkannt. Wenn ich in der Objekt-Sicht bei timeOfDay einfach 14:35:00 reinschiebe, verstehen es alle Geräte. Aber das Datum verstehe ich irgendwie nicht, wie ich das formatieren muss, hat jemand einen Tipp für mich?
-
Also es geht jetzt zwar irgendwie einigermassen, wenn ich Zeit so (Sat, 20:23:29) verschicke und Datum so (25.05.2019), aber ich bekomme Warnings, dass das der falsche Datentyp ist. Gibt es irgendwo eine Dokumentation wie man das richtig macht? Muss ich wirklich in der Spezifikation nachlesen, wie ein 10.001 auf dem Bus formatiert ist und dann selbst das so bereitstellen?
-
Also ich hab DPT10.001 eingestellt, allerdings mit dem Umweg über Node-Red und einem eigenen Datenpunkt dazwischen.
Mit der oben auf dem Screenshot zu sehenden Formatierung "hh:mm:ss" hat es funktioniert.
Das Datum hatte ich so: "TT.MM.JJJJ" aber ich weiß gar nicht ob es funktioniert hat weil ich es nicht nutze, sorry.Mittlerweile bin ich aber umgestiegen auf das neue MDT IP-Interface weil ich eine neue Schnittstelle gebraucht habe.
-
deleted dubbel post
-
Weiß jemand wie man in Blockly auch den Wochentag in die Zeit senden können? (Fre, 15:22:00)
Es muss mit drei stellen sein (Fre, Don usw) und in Blockly finde ich nur mit zwei (Fr), Name (Freitag) oder Nummer (5).
Meine Konfiguration (Zeit ist jetzt "hh:mm:ss" weil mit "W, " zum Fehler fürt) :
{ "_id": "knx.0.Centrala_funktioner.Generella_funktioner.Tid_3-Byte", "type": "state", "common": { "name": "Tid 3-Byte", "type": "mixed", "role": "indicator", "read": false, "write": true }, "native": { "dpt": "DPT10.001", "address": "29/1/255", "addressRefId": "P-095B-0_GA-213", "statusGARefId": "", "actGARefId": "", "update": true, "objRef": "O-49_R-49", "devName": "M-0008_A-0000-01-9542", "devInst": "P-095B-0_DI-13", "objectSize": "" },
-
@videonisse
Hallo, konntest Du das Problem mittlerweile lösen? Ich stehe vor demselben Problem. Das Schreiben der reinen Uhrzeit auf den KNX Bus funktioniert, aber im Datenpunkt "Uhrzeit" benötigt die MDT Glaszentrale auch den Wochentag.
Nur mit die Uhrzeit übertragen sieht auf den ersten Blick gut aus, aber dann funktionieren die eingestellten Zeitschaltuhren der Glaszentrale nicht mehr.Vielen Dank und Gruß!