Hauptmenü

Setreading mit 2 Werten

Begonnen von jostmario, 29 November 2018, 23:31:01

Vorheriges Thema - Nächstes Thema

jostmario

Hallo,

wie Kann ich denn dem Reading LaufzeitEnergie die beiden Werte übergeben.
so funktioniert es nicht, so schreibt er nur den Text ins reading.


$data{boiler_tot}   = sprintf("%.0f",$data{boiler_tot});
$data{Energie_Erzeugt} =  $data{Energie_Ende} - $data{Energie_Start};

fhem "setreading HVLaufzeitX LaufzeitEnergie $data{boiler_tot} $data{Energie_Erzeugt}";


Gruß Josty
Raspberry Pi  ---  HM-LAN ---  8X HM_HM_CC_RT_DN --- OWL+USB Strommesser    UVR1611

herrmannj

fhem sprintf( "setreading HVLaufzeitX LaufzeitEnergie %s %s", $data{boiler_tot}, $data{Energie_Erzeugt});

jostmario

Hallo,

dann sieht das reading so aus:

LaufzeitEnergie         %s %s", $data{boiler_tot}, $data{Energie_Erzeugt}      2018-11-29 23:50:30


Gruß Josty
Raspberry Pi  ---  HM-LAN ---  8X HM_HM_CC_RT_DN --- OWL+USB Strommesser    UVR1611

Otto123

Hallo,

Wo hast du den Code denn drin? Das Problem ist, deine Variablen werden so nicht aufgelöst.

Du kannst es mit concatenation versuchen.
Deinen Text umzuschreiben bekomme ich leider am Tablet so auf die schnelle nicht hin.
Auf meiner Webseite findest du aber meine Notizen zu dem Thema.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

jostmario

Hallo,

Hab den Text in einem Notify.

Die letzte Zeile ist die entscheidende die nicht funktioniert so.


HVStatus {
  if("$EVENT" eq "AN") {
   $data{boiler_last} = time();
     fhem "setreading HVLaufzeitX VorVorVorLetzteLaufzeit [HVLaufzeitX:VorVorLetzteLaufzeit]";
   $data{boiler_letzte} = ReadingsVal ("HVLaufzeitX","VorLetzteLaufzeit",0);
   fhem "setreading HVLaufzeitX VorVorLetzteLaufzeit $data{boiler_letzte}";
   $data{boiler_letzte} = ReadingsVal ("HVLaufzeitX","LetzteLaufzeit",0);
   fhem "setreading HVLaufzeitX VorLetzteLaufzeit $data{boiler_letzte}";
   $data{boiler_letzte} = ReadingsVal ("HVLaufzeitX","Laufzeit",0);
   fhem "setreading HVLaufzeitX LetzteLaufzeit $data{boiler_letzte}";
   fhem "setreading HVLaufzeitX Laufzeit 0";
   $data{Energie_Start} = ReadingsVal ("myuvr_messuebersicht","Energiemenge",0);
   fhem "setreading HVLaufzeitX EnergiemengeStart [myuvr_messuebersicht:Energiemenge]";
    } elsif("$EVENT" eq "AUS") {
   $data{boiler_letzte} = ReadingsVal ("HVLaufzeitX","Auszeit",0);
   $data{boiler_min} = (time()-$data{boiler_last})/60*1;
   $data{boiler_rv} = ReadingsVal ("HVLaufzeitX","Laufzeit",0);
   $data{boiler_tot} = $data{boiler_rv}+$data{boiler_min};
   $data{boiler_tot}   = sprintf("%.0f",$data{boiler_tot});
   fhem "setreading HVLaufzeitX Laufzeit $data{boiler_tot}";
    $data{boiler_rechne} = ReadingsVal ("HVLaufzeitX","Gesamtlaufzeit",0);
    $data{boiler_rechne} = $data{boiler_rechne} + $data{boiler_tot};
   fhem "setreading HVLaufzeitX Gesamtlaufzeit $data{boiler_rechne}";
   $data{Energie_Ende} = ReadingsVal ("myuvr_messuebersicht","Energiemenge",0);
   $data{Energie_Start} = ReadingsVal ("HVLaufzeitX","EnergiemengeStart",0);
   fhem "setreading HVLaufzeitX VorVorVorLetzteLaufzeit [HVLaufzeitX:VorVorLetzteLaufzeit]";
   fhem "setreading HVLaufzeitX EnergiemengeEnde [myuvr_messuebersicht:Energiemenge]";
   $data{Energie_Erzeugt} =  $data{Energie_Ende} - $data{Energie_Start};
   fhem "setreading HVLaufzeitX VorVorVorLetzteEnergieErzeugt [HVLaufzeitX:VorVorLetzteEnergieErzeugt]";
   fhem "setreading HVLaufzeitX VorVorLetzteEnergieErzeugt [HVLaufzeitX:VorLetzteEnergieErzeugt]";
   fhem "setreading HVLaufzeitX VorLetzteEnergieErzeugt [HVLaufzeitX:LetzteEnergieErzeugt]";
  fhem "setreading HVLaufzeitX LetzteEnergieErzeugt [HVLaufzeitX:EnergieErzeugt]";
   fhem "setreading HVLaufzeitX EnergieErzeugt $data{Energie_Erzeugt}";
   fhem "setreading HVLaufzeitX LaufzeitEnergie $data{boiler_tot} $data{Energie_Erzeugt}";
   fhem sprintf( "setreading HVLaufzeitX LaufzeitEnergie %s %s", $data{boiler_tot}, $data{Energie_Erzeugt});
 
}
}


Gruß Josty
Raspberry Pi  ---  HM-LAN ---  8X HM_HM_CC_RT_DN --- OWL+USB Strommesser    UVR1611

CoolTux

Entweder bin ich blind oder Du hast den Hash %data gar nicht deklariert. Kann mir nicht wirklich vorstellen das es überhault irgendwie geht.
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://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

jostmario

Hallo,

jetzt hat es so doch geklappt er hat die zwei Werte in das einereading geschrieben.
Wie sollte ich denn $data deklarieren wobei es funktioniert jetzt einwandfrei mit dieser Zeile.
fhem sprintf( "setreading HVLaufzeitX LaufzeitEnergie %s %s", $data{boiler_tot}, $data{Energie_Erzeugt});

hatte das manuell auszulösen versucht da ging es nicht.
Jetzt wo der Holzvergaser tatsächlich an und aus ging hat er es gesetzt.

Dankeschön
Gruß Josty
Raspberry Pi  ---  HM-LAN ---  8X HM_HM_CC_RT_DN --- OWL+USB Strommesser    UVR1611

CoolTux

Zitat von: jostmario am 30 November 2018, 12:45:24
Wie sollte ich denn $data deklarieren wobei es funktioniert jetzt einwandfrei mit dieser Zeile.

Ich weiß nicht wirklich wie ich mit der Frage umgehen soll.
Ich belasse es einfach mal dabei. Scheint ja zu funktionieren.


Grüße
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://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

herrmannj


CoolTux

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://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

Habs gefunden. Ist anscheinend sogar für den User gedacht
Zitat
use vars qw(%data);             # Hash for user data
Also noch nicht mal missbrauch
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://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net