Uhrzeit von CCU abrufen

Entwicklung und Bau von Hardware aller Art, die im HM-Umfeld eingesetzt werden kann

Moderator: Co-Administratoren

hoteloskar
Beiträge: 34
Registriert: 04.01.2009, 17:37
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 16 Mal
Danksagung erhalten: 1 Mal

Uhrzeit von CCU abrufen

Beitrag von hoteloskar » 20.01.2024, 14:54

Hallo allerseits,

ist es möglich von einem Homebrew-Gerät (HB-UNI-Sensor1-THPD-BME280) die aktuelle Uhrzeit von der CCU abzurufen?
Ich habe zwar hier schon ein Codebeispiel von jp112sdl in dem Thread viewtopic.php?f=76&t=67687&p=662143&hil ... it#p662233 gefunden, aber leider funktioniert der nicht. Ich habe die Standardhardware Arduino Pro Mini mit CC1101 benutzt.
Auch wäre ich sehr an einer Beschreibung des Funkprotokolls interessiert und wäre für entsprechende Hinweise sehr dankbar. Aber das nur am Rande.
Schöne Grüße
Hans

Benutzeravatar
Baxxy
Beiträge: 10849
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 610 Mal
Danksagung erhalten: 2229 Mal

Re: Uhrzeit von CCU abrufen

Beitrag von Baxxy » 20.01.2024, 15:06

Helfen kann ich nicht direkt.
Meines Wissens wird die Uhrzeit aber nicht "abgerufen" sondern die die CCU sendet diese zyklisch aus.
Beispiel aus der RaspberryMatic-crontab:

Code: Alles auswählen

1 3,9,15,21 * * * [ ! -e /usr/local/HMLGW ] && /bin/SetInterfaceClock

Benutzeravatar
FUEL4EP
Beiträge: 586
Registriert: 01.11.2017, 17:26
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 76 Mal
Danksagung erhalten: 79 Mal
Kontaktdaten:

Re: Uhrzeit von CCU abrufen

Beitrag von FUEL4EP » 20.01.2024, 16:47

Hallo Hans,

>ist es möglich von einem Homebrew-Gerät (HB-UNI-Sensor1-THPD-BME280) die aktuelle Uhrzeit von der CCU abzurufen?

Im Prinzip ja entsprechend dem von Dir zitierten 'Kochrezept' von Jérôme. Das 'Kochrezept' ist mir neu. Jérôme ist da sicher der bessere Ansprechpartner.

Wozu braucht ein THPD-Sensor die Uhrzeit? Ich kann mir da keinen Anwendungsfall vorstellen.

Der Sketch des HB-UNI-Sensor1-THPD-BME280 Sensors passt gerade so in den Speicher eines ATMega328P. Ich glaube, dass der zusätzliche Code von Jérômes 'Kochrezept' nicht mehr reinpassen wird.

>aber leider funktioniert der nicht.
Was genau funktioniert da nicht?

> Auch wäre ich sehr an einer Beschreibung des Funkprotokolls interessiert und wäre für entsprechende Hinweise sehr dankbar. Aber das nur am Rande.
Wo müssen wir Dich dafür abholen? Mit welchen Aspekten von AsksinPP hast Du Dich schon beschäftigt? Wie fit bist Du in objektorientierter C++-Programierung? Das wird nur mit eingehender Beschäftigung mit der Materie gehen.

Ein guter Startpunkt ist hier zu finden;
Timings der Funkprotokolle Staffelung der Telegramme
Grüße

Ewald

Meine SmartHome Entwicklungen gibt es hier: FUEL4Ps Homeautomation Github Repository oder als ZIP
Das passende RaspberryMatic Addon ist hb-ep-devices-addon
Passende Platinen gib es hier: PCBs

hoteloskar
Beiträge: 34
Registriert: 04.01.2009, 17:37
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 16 Mal
Danksagung erhalten: 1 Mal

Re: Uhrzeit von CCU abrufen

Beitrag von hoteloskar » 20.01.2024, 17:50

Hallo Ewald,
da möchte ich doch zuerst einmal Danke für den schönen HB-UNI-Sensor1-THPD-BME280 sketch sagen.
Und nun zu deinen Fragen:
Wozu braucht ein THPD-Sensor die Uhrzeit? Ich kann mir da keinen Anwendungsfall vorstellen.
Ich habe den Sketch erweitert, um Regenmengen zu erfassen und der Zähler sollte um 24:00 wieder auf Null gestellt werden.
Der Sketch des HB-UNI-Sensor1-THPD-BME280 Sensors passt gerade so in den Speicher eines ATMega328P. Ich glaube, dass der zusätzliche Code von Jérômes 'Kochrezept' nicht mehr reinpassen wird.
Die Befürchtung hatte ich auch schon, aber ich weiß ja noch nicht welcher Code-Aufwand zum Abruf der Uhrzeit erforderlich ist, wenn es denn überhaupt geht.
Was genau funktioniert da nicht?
Es kommt keine Antwort auf den Timestamp request. Nur ab und an die Meldung "Packet too big: 37"

Mit der objektorientierter C++-Programierung sieht es nicht so gut aus bei mir. Aber ich möchte ja auch nur mit dem Wissen über das Funkprotokoll eventuell einen sketch für meine Bedürfnisse anpassen, um z.B die Uhrzeit abzurufen.

Vielleicht meldet sich Jérôme ja noch und kann etwas zu seinem 'Kochrezept' sagen.

Benutzeravatar
FUEL4EP
Beiträge: 586
Registriert: 01.11.2017, 17:26
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 76 Mal
Danksagung erhalten: 79 Mal
Kontaktdaten:

Re: Uhrzeit von CCU abrufen

Beitrag von FUEL4EP » 20.01.2024, 18:12

Hallo Hans,

Danke für Deine Antworten.

> Ich habe den Sketch erweitert, um Regenmengen zu erfassen und der Zähler sollte um 24:00 wieder auf Null gestellt werden.

Das ist dann ja fast ein Wettersensor 'HB-UNI-Sen-WEA'. Hast Du dazu die rftypes XML-Datei modifiziert und ein eigenes Addon aufbereitet?

> Ich habe den Sketch erweitert, um Regenmengen zu erfassen und der Zähler sollte um 24:00 wieder auf Null gestellt werden.

Das geht einfacher zentral in der CCU.

>Es kommt keine Antwort auf den Timestamp request. Nur ab und an die Meldung "Packet too big: 37"

Üblicherweise werden Sketche sehr instabil , wenn die Speichergrenze erreicht oder gar überschritten wird.
Wieviel freien Speicher hast Du denn? Was sagt das Arduino IDE dazu?

Bitte lade auch die gesamte Ausgabe des seriellen Monitors für Jérômes 'Kochrezept' hier hoch (ab Reset).
Grüße

Ewald

Meine SmartHome Entwicklungen gibt es hier: FUEL4Ps Homeautomation Github Repository oder als ZIP
Das passende RaspberryMatic Addon ist hb-ep-devices-addon
Passende Platinen gib es hier: PCBs

jp112sdl
Beiträge: 12116
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 849 Mal
Danksagung erhalten: 2150 Mal
Kontaktdaten:

Re: Uhrzeit von CCU abrufen

Beitrag von jp112sdl » 20.01.2024, 19:17

Eine vollständige Implementierung hatte ich im HB-LC-SwX-TP vorgestellt.
viewtopic.php?p=664138
Falls du da noch nicht warst, vielleicht findest du dort noch nützliche Codeschnipsel.

Ansonsten würde ich es wie FUEL4EP halten... schreib die Regenmenge in eine Systemvariable und setz die alle 24h zurück.
Ggf speicherst du dir vorher den Wert noch in einer weiteren Variablen, damit "heute" noch jederzeit sehen kannst, wie viel Regen "gestern" gefallen war.

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

hoteloskar
Beiträge: 34
Registriert: 04.01.2009, 17:37
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 16 Mal
Danksagung erhalten: 1 Mal

Re: Uhrzeit von CCU abrufen

Beitrag von hoteloskar » 20.01.2024, 19:24

Hallo Ewald,
Das ist dann ja fast ein Wettersensor 'HB-UNI-Sen-WEA'. Hast Du dazu die rftypes XML-Datei modifiziert und ein eigenes Addon aufbereitet?
Den 'HB-UNI-Sen-WEA' kannte ich noch gar nicht. Ist aber ganz schön aufwendig!

Ich benutze im Sketch die Variable für die abs. Luftfeuchtigkeit. Auf der CCU habe ich dann im XML-file g/m3 durch mm und in einem .js-File Abs. Luftefeuchtigkeit durch Regen ersetzt. Hat mich sehr viel Aufwand gekostet um das herauszufinden, denn zur Erstellung eines eigenen Addon reicht es bei mir noch nicht.
Das geht einfacher zentral in der CCU.
Wie kann denn die CCU auf eine Variable in dem Gerät zugreifen? Das musst Du mir mal erklären.
Bitte lade auch die gesamte Ausgabe des seriellen Monitors für Jérômes 'Kochrezept' hier hoch (ab Reset).
AskSin++ v5.0.3 (Jan 20 2024 19:14:08)
Radio init1
CC Version: 04
- ready
Sending Timestamp request...
09 00 A0 3F 42A2B7 59E4AB - 75

Das ist alles.

Sketch uses 9268 bytes (30%) of program storage space

Schöne Grüße
Hans

jp112sdl
Beiträge: 12116
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 849 Mal
Danksagung erhalten: 2150 Mal
Kontaktdaten:

Re: Uhrzeit von CCU abrufen

Beitrag von jp112sdl » 20.01.2024, 19:39

hoteloskar hat geschrieben:
20.01.2024, 19:24
Wie kann denn die CCU auf eine Variable in dem Gerät zugreifen? Das musst Du mir mal erklären.
Gar nicht.

Du sollst in der CCU eine Systemvariable anlegen und diese mit dem Wert des Geräts befüllen.
Das geht mit einem simplen WebUI Programm

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

Benutzeravatar
FUEL4EP
Beiträge: 586
Registriert: 01.11.2017, 17:26
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 76 Mal
Danksagung erhalten: 79 Mal
Kontaktdaten:

Re: Uhrzeit von CCU abrufen

Beitrag von FUEL4EP » 20.01.2024, 19:57

Hallo Hans,

> Ich benutze im Sketch die Variable für die abs. Luftfeuchtigkeit. Auf der CCU habe ich dann im XML-file g/m3 durch mm und in einem .js-File Abs.
> Luftefeuchtigkeit durch Regen ersetzt. Hat mich sehr viel Aufwand gekostet um das herauszufinden, denn zur Erstellung eines eigenen Addon reicht es
> bei mir noch nicht.

So ähnlich fing es bei mir vor ca. 4 Jahren auch an. Mit viel Hilfe hier vom Forum habe ich inzwischen vieles durchdrungen, aber bei weitem nicht alles. Ich lerne immer noch hinzu und das macht Spaß! Für die Addon-Erstellung nehme ich meinen Addon-Generator. Damit beschränkt sich die Addon-Erstellung im wesentlichen auf die Erstellung der rftypes-XML-Datei, z.B. hb-uni-sensor-THPD-BME280.xml. Vielleicht ist das ein Einstieg für Dich.

Ein weiterer sehr guter Fundus sind die Homebrew-AsksinPP-Projekte hier. Da kannst Du viel analysieren und abschauen.

> Wie kann denn die CCU auf eine Variable in dem Gerät zugreifen? Das musst Du mir mal erklären.
Anders herum wird ein Schuh daraus: Der Sensor sendet regelmäßig die gemesssene Regenmenge pro Messintervall an die Zentrale. Dort wird dieser Wert in einer Systemvariablen akkumuliert (und gegebenenfalls um 24:00 zurückgesetzt). Der Regensensor könnte auch akkumulieren und das Akkumulationsergebnis senden. Die Zentrale müsste dann Differenzen zwischen den Messwerten aufeinanderfolgender Intervalle bilden. Dann ist allerdings die Überlaufbehandlung nicht mehr trivial.

> Das ist alles

Stelle mal den LOG-Level Deiner Zentrale auf Maximum (loggen des gesamten Funkverkehrs) und schaue dann im LOG-File nach, was die Zentrale zur Anforderung des Zeitstempels meint.

Ansonsten kann vielleicht Jérôme schneller helfen ..

Ein Speicherplatzmangel kann bei 30% nicht vorliegen. Die Ursache muss eine andere sein. Meistens hilft es, die LOG-Dateien gründlich zu lesen und gegebenenfalls zusätzlich DEBUG-Statements einzubauen. Viel Erfolg beim Debuggen ...
Grüße

Ewald

Meine SmartHome Entwicklungen gibt es hier: FUEL4Ps Homeautomation Github Repository oder als ZIP
Das passende RaspberryMatic Addon ist hb-ep-devices-addon
Passende Platinen gib es hier: PCBs

hoteloskar
Beiträge: 34
Registriert: 04.01.2009, 17:37
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 16 Mal
Danksagung erhalten: 1 Mal

Re: Uhrzeit von CCU abrufen

Beitrag von hoteloskar » 21.01.2024, 12:48

Halle Ewald,
vielen Dank für Deine ausführlichen Erklärungen, insbesondere die Akkumulation der Regenmenge pro Messintervall auf der CCU.
Bisher ist mein Code so angelegt, dass auf dem THPD-Gerät akkumuliert wird und da habe ich die unbedingte Notwendigkeit gesehen diesen Wert alle 24h auf Null zu setzen. Aber wie Du gezeigt hast geht es auch anders.
Stelle mal den LOG-Level Deiner Zentrale auf Maximum (loggen des gesamten Funkverkehrs) und schaue dann im LOG-File nach, was die Zentrale zur Anforderung des Zeitstempels meint.

Ansonsten kann vielleicht Jérôme schneller helfen ..
Jérôme hat ja schon einen Link auf einen anderen Sketch geschickt. Obwohl Du mir ja jetzt schon eine Lösung gezeigt hast, werde ich den vielleicht trotzdem mal ausprobieren.
Ja, es gibt auch für mich noch sehr viel zu lernen hier, aber es macht in der Tat Spaß, insbesondere wenn es denn mal stockt und dann hier Hilfe bekommt.
Schöne Grüße
Hans

Antworten

Zurück zu „Hardwareentwicklung und Selbstbau von Aktoren und Sensoren“