Autor Thema: Ein Reading mit Minuten in Stunden und Minuten umrechnen  (Gelesen 2249 mal)

Offline bigmo

  • New Member
  • *
  • Beiträge: 26
Ich habe ein Reading, das mir die Betriebszeit, des Brenners ausgibt, allerdings in Minuten.
Statt also 555921 Minuten hätte ich gerne die Ausgabe 9265h 21m oder auch 9265:21 zB.

Mit {sy_betriebsstunden => '{sprintf("%.2f",$VALUE/60)}'} habe ich die Stunden ausgerechnet, soweit so gut. Allerdings ist der Rest dann in Industrieminuten. Wie kann ich jetzt noch die Industrieminuten auf normale umrechnen?

Offline DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4084
  • Wer anderen eine Bratwurst brät...
Antw:Ein Reading mit Minuten in Stunden und Minuten umrechnen
« Antwort #1 am: 23 August 2017, 10:27:43 »
Z.B. so:

my $hours = sprintf("%.2f",$VALUE/60);
my $h = int($hours);
my $im = $hours - $h;
my $m = int($im * 60);
"$h:$m";


Gruß
Dan
FHEM 5.9, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Offline bigmo

  • New Member
  • *
  • Beiträge: 26
Antw:Ein Reading mit Minuten in Stunden und Minuten umrechnen
« Antwort #2 am: 23 August 2017, 10:34:10 »
Das muss dann aber in die 99_myutils oder?

Offline DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4084
  • Wer anderen eine Bratwurst brät...
Antw:Ein Reading mit Minuten in Stunden und Minuten umrechnen
« Antwort #3 am: 23 August 2017, 10:56:50 »
Das muss dann aber in die 99_myutils oder?

Nö!

Wo hast Du es jetzt drin zu stehen?
Gib doch mal ein list vom Device.

Gruß
Dan
FHEM 5.9, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Offline bigmo

  • New Member
  • *
  • Beiträge: 26
Antw:Ein Reading mit Minuten in Stunden und Minuten umrechnen
« Antwort #4 am: 23 August 2017, 11:14:54 »
IDS:
         /system/appliance/workingTime/totalSystem:
       MAX        16777215
       MIN        0
       TYPE       floatValue
       UNIT       minutes
       VALUE      555921
       WRITEABLE  0

Attributes:
   PollIds /system/appliance/workingTime/totalSystem:1:0:sy_betriebsstunden

Offline DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4084
  • Wer anderen eine Bratwurst brät...
Antw:Ein Reading mit Minuten in Stunden und Minuten umrechnen
« Antwort #5 am: 23 August 2017, 11:39:19 »
IDS:
         /system/appliance/workingTime/totalSystem:
       MAX        16777215
       MIN        0
       TYPE       floatValue
       UNIT       minutes
       VALUE      555921
       WRITEABLE  0

Attributes:
   PollIds /system/appliance/workingTime/totalSystem:1:0:sy_betriebsstunden

Das ist kein vollständiges list vom Device und damit kann man nichts anfangen.

Gruß
Dan
FHEM 5.9, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16097
  • s/fhem\.cfg/configDB/g
Antw:Ein Reading mit Minuten in Stunden und Minuten umrechnen
« Antwort #6 am: 23 August 2017, 11:44:48 »
In 98_uptime.pm werden Sekunden in Tage, Stunden und Minuten umgerechnet.
Schau doch mal dort nach, vielleicht kannst Du das einfach übernehmen.
-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.

Offline bigmo

  • New Member
  • *
  • Beiträge: 26
Antw:Ein Reading mit Minuten in Stunden und Minuten umrechnen
« Antwort #7 am: 23 August 2017, 13:08:09 »
So hier das komplette...wollte dich nicht erschlagen  :D

Offline DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4084
  • Wer anderen eine Bratwurst brät...
Antw:Ein Reading mit Minuten in Stunden und Minuten umrechnen
« Antwort #8 am: 23 August 2017, 13:22:06 »
So hier das komplette...wollte dich nicht erschlagen  :D

Das hilft mehr!

Du hast aber immer noch nicht verraten was Du mit dem Code machen willst? Geht es um stateFormat, also die Anzeige der Betriebsstunden/-minuten in STATE, oder was?

Gruß
Dan
FHEM 5.9, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Offline bigmo

  • New Member
  • *
  • Beiträge: 26
Antw:Ein Reading mit Minuten in Stunden und Minuten umrechnen
« Antwort #9 am: 23 August 2017, 13:40:09 »
Aso...zusammen mit anderen Werten in einer ReadingsGroup anzeigen lassen...nur eben formatiert mit Stunden und Minuten

Offline DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4084
  • Wer anderen eine Bratwurst brät...
Antw:Ein Reading mit Minuten in Stunden und Minuten umrechnen
« Antwort #10 am: 23 August 2017, 14:25:30 »
Mit readingsGroup kenne ich mich nicht so aus.

Mach Dir doch ein userReading.

attr Buderus userReadings Betriebsstunden:sy_betriebsstunden.* {my $hours=ReadingsNum($NAME,"sy_betriebsstunden",0)/60; my $h=int($hours); my $im=$hours - $h; my $m=int($im * 60); "$h:$m";}
Das neu erzeugte Reading kannst Du dann in der readingsGroup angeben.

Gruß
Dan
FHEM 5.9, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Offline bigmo

  • New Member
  • *
  • Beiträge: 26
Antw:Ein Reading mit Minuten in Stunden und Minuten umrechnen
« Antwort #11 am: 23 August 2017, 16:18:02 »
Hm wenn ich das eintrage kommt folgender Fehler:
Unknown command my, try help. Unknown command my, try help. Unknown command my, try help. Unknown command }, try help.

Online CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 22749
Antw:Ein Reading mit Minuten in Stunden und Minuten umrechnen
« Antwort #12 am: 23 August 2017, 16:19:59 »
Eventuell das aller letzte Semikolon weg.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://paypal.me/pools/c/8gULisr9BT
FHEM GitHub: https://github.com/fhem/
kein Support für cfg Editierer

Offline DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4084
  • Wer anderen eine Bratwurst brät...
Antw:Ein Reading mit Minuten in Stunden und Minuten umrechnen
« Antwort #13 am: 23 August 2017, 16:26:58 »
Eventuell das aller letzte Semikolon weg.

Nein, wenn Du das Attribut über die Eingabezeile vergeben willst, dann müssen die ; verdoppelt werden!

Gruß
Dan
FHEM 5.9, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced
Informativ Informativ x 1 Liste anzeigen

Offline bigmo

  • New Member
  • *
  • Beiträge: 26
Antw:Ein Reading mit Minuten in Stunden und Minuten umrechnen
« Antwort #14 am: 23 August 2017, 21:33:03 »
Ok so hat es funktioniert zumindest kommt beim speichern nun kein Fehler mehr. Aber wie kann ich den berechneten Wert nun in der readinggroup aufrufen? Buderus:<%clock>,<Betriebsstunden>,Betriebsstunden\ funktioniert nicht.

Offline DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4084
  • Wer anderen eine Bratwurst brät...
Antw:Ein Reading mit Minuten in Stunden und Minuten umrechnen
« Antwort #15 am: 24 August 2017, 20:10:02 »
Ok so hat es funktioniert zumindest kommt beim speichern nun kein Fehler mehr. Aber wie kann ich den berechneten Wert nun in der readinggroup aufrufen? Buderus:<%clock>,<Betriebsstunden>,Betriebsstunden\ funktioniert nicht.

Da das nicht zum bisherigen Titel und Verlauf passt, wird Dir wohl niemand weiterhelfen.
Ich würde sagen das fragst Du dann mal im Bereich für readingsGroup nach.

Gruß
Dan
FHEM 5.9, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Offline Freee84neu

  • Jr. Member
  • **
  • Beiträge: 66
Antw:Ein Reading mit Minuten in Stunden und Minuten umrechnen
« Antwort #16 am: 16 Juni 2019, 19:27:03 »
Hallo

Habe das userReading so angepasst das es zu mir passt. Vielen Dank schon mal dafür

Ich habe einen HourCounter der die Betiebsstunden der Pool-Pumpe dokumentiert.
Der Counter gibt den Tages-Wert in Sekuden aus (pulseTimePerDay).

Mein userreading sieht so aus.
attr PoolCounter userReadings Betriebsstunden:pulseTimePerDay.* {my $hours=ReadingsNum($NAME,"pulseTimePerDay",0)/3600; my $h=int($hours); my $im=$hours - $h; my $m=int($im * 60); "$h:$m"}
Das klappt auch eigentlich wunderbar doch wenn ich jetzt einen Wert habe wo zb. 8 Std und 3 Min rauskommt. Steht dort 8:3 schön wäre wenn es 8:03 wäre ... könnte mir da jemand helfen.

Gruß 

Offline Prof. Dr. Peter Henning

  • Developer
  • Hero Member
  • ****
  • Beiträge: 6903
Antw:Ein Reading mit Minuten in Stunden und Minuten umrechnen
« Antwort #17 am: 16 Juni 2019, 22:00:17 »
Klar. Perl-funktion sprintf verwenden, siehe dort.

LG

pah

Offline Freee84neu

  • Jr. Member
  • **
  • Beiträge: 66
Antw:Ein Reading mit Minuten in Stunden und Minuten umrechnen
« Antwort #18 am: 19 Juni 2019, 02:58:16 »
Hallo

Danke das es mit sprinft zu tun hat habe ich mir schon fast gedacht aber leider bekomme ich das nicht in den Kopf.
Ich bin da jetzt schon so oft drauf gestossen und jedes mal hab ich es nicht wirklich verstanden.
Ich komme wohl besser mit Spannung und Strom zurecht als mit "} und " ".

Bin schon drauf und dran jemanden zu suchen der mal für Geld mein Sytem ordentlich macht ;D da sind bestimmt viele Sachen die nicht wirklich richtig sind aber läuft, denke ich  ;D 


« Letzte Änderung: 19 Juni 2019, 03:02:46 von Freee84neu »

Offline DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4084
  • Wer anderen eine Bratwurst brät...
Antw:Ein Reading mit Minuten in Stunden und Minuten umrechnen
« Antwort #19 am: 19 Juni 2019, 09:02:02 »
Oder ohne sprintf:
attr PoolCounter userReadings Betriebsstunden:pulseTimePerDay.* {my $hours=ReadingsNum($NAME,"pulseTimePerDay",0)/3600; my $h=int($hours); my $m=int(($hours - $h)*60); $m="0".$m if ($m=~/^\d$/); "$h:$m"}
Gruß
Dan
FHEM 5.9, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Offline Freee84neu

  • Jr. Member
  • **
  • Beiträge: 66
Antw:Ein Reading mit Minuten in Stunden und Minuten umrechnen
« Antwort #20 am: 20 Juni 2019, 10:07:25 »
Wow

Super vielen Dank ... das klappt das hätte ich leider nie hinbekommen ... vielen Dank

Offline carlos

  • Full Member
  • ***
  • Beiträge: 282
Antw:Ein Reading mit Minuten in Stunden und Minuten umrechnen
« Antwort #21 am: 20 Juni 2019, 13:34:40 »
Geht noch einfacher:
attr PoolCounter userReadings uptime_Calc {sprintf("%d Tage %02d Stunden %02d Minuten",SYSMON_decode_time_diff((ReadingsVal($NAME,"uptime",0))*60))}
Gruß

Carlos
FHEM svn auf Intel NUC mit proxmox,1 UDOO, 3 Raspberry Pi, signalduino, nanoCUL, div. Homematic Komponenten, toom Baumarkt Funksteckdosen, einige sonoffs, hue, shelly

Offline Freee84neu

  • Jr. Member
  • **
  • Beiträge: 66
Antw:Ein Reading mit Minuten in Stunden und Minuten umrechnen
« Antwort #22 am: 20 Juni 2019, 22:44:55 »
Hallo

Und Danke

Hab jetzt mal beides reingeschrieben ....
Aber warum bekomm ich bei dem einen
Betriebsstunden —— 6:04
uptime_Calc      —— 15 Tage 04 Stunden 34 Minuten
Raus

Das Reading im Counter pulseTimePerDay zeigt 21874 .... 6:04 ist also richtig aber das andere ...

userReadings
Betriebsstunden:pulseTimePerDay.* {my $hours=ReadingsNum($NAME,"pulseTimePerDay",0)/3600; my $h=int($hours); my $m=int(($hours - $h)*60); $m="0".$m if ($m=~/^\d$/); "$h:$m"},uptime_Calc {sprintf("%d Tage %02d Stunden %02d Minuten",SYSMON_decode_time_diff((ReadingsVal($NAME,"pulseTimePerDay",0))*60))}


Ah es muss anstatt pulseTimePerDay",0))*60))} so heißen pulseTimePerDay",0))*1))} dann ist es richtig

Super vielen Dank
« Letzte Änderung: 21 Juni 2019, 09:18:42 von Freee84neu »