Ausgelesener Modbus Wert zu Uhrzeit

Hallo,

ich lese per Modbus mehrere Werte (UINT16) aus, hinter denen sich Uhrzeiten verstecken.
Zum Beispiel 500 entspricht 05:00Uhr oder 1400 entspricht 14:00Uhr.
Wie bekomme ich diese Werte vernünftig Formatiert, so dass sie als Uhrzeit dargestellt werden?
UnixTimestampTime funzt leider nicht mit den Werten.

Das machst du über eine virtuelle Adresse. Dort kannst du den Wert beim Lesen nach deinen Vorstellungen aufbereiten.

OK, kannst du mir noch verraten wie ich zum Beispiel aus 500 ein 05:00 mache. :grinning:

z.B. so:

$string = '500';
$hour = substr($string, 0, -2); 
$minutes = substr($string, -2); 

$date = new DateTime();
$date->setTime($hour, $minutes);

echo $date->format('H:i');

Cool Danke. Das funktioniert mit einer virtuellen Adresse einwandfrei. Ich muss jetzt noch 5 weitere Zeiten umrechnen.

Folgendes Script funktioniert mit der ersten Variable (Zeit) einwandfrei

$hour = substr($VALUES["A_2_3_148"], 0, -2); 
$minutes = substr($VALUES["A_2_3_148"], -2); 

$date = new DateTime();
$date->setTime($hour, $minutes);

Wenn ich dieses Script bei den anderen virtuellen Adressen eintrage, werden diese nicht Berechnet. Im Debuglog sehe ich nur „null“. Ich habe dann Testweise das identische Script ohne Änderung bei der zweiten Virtuellen Adresse eingetragen und auch damit findet keine Berechnet statt. Verstehe ich nicht wirklich. :thinking:

Fehlt da nicht ein

return $date->format('H:i');

am Ende?

Ja natürlich. Habe nicht den kompletten Code kopiert, da er in der untersten Zeile stand und nicht angezeigt worden ist. :pensive:

@paresy Kann man hier nicht Ansicht der angezeigten Code Zeilen vergrößern. Das ist annähernd so klein wie bei den Ereignissen. :thinking:

Danke @bumaas! Wenn du jetzt noch einen Code für das Zurückschreiben der Zeit Richtung Integer hättest, wäre das perfekt :heart_eyes:

Ich bin inzwischen Fan der KI geworden :slight_smile:

Die erste Lösung kam übrigens auch daher :slight_smile:

1 „Gefällt mir“

Danke ich teste es.
Probiert hatte ich es auch mit ChatGPT aber anscheinend habe ich es nicht richtig formuliert.

Hast du mal ein Link zu dem AI Assistant den du nutzt.

Das ist eine neue Erweiterung zu PHPStorm, der Entwicklungsumgebung, die ich nutze.
Es ist wirklich krass, was der leistet. Er dokumentiert dir sogar deinen Code und macht Verbesserungsvorschläge.

1 „Gefällt mir“