Variablen dauerhaft speichern

Begonnen von UliM, 16 Dezember 2012, 08:03:47

Vorheriges Thema - Nächstes Thema

UliM

                                                 

Hi,
Vor dem Neustart den Befehl 'Save' absetzen -> letzter Wert des Dummy wird nach fhem.save geschrieben und bei Beustart wieder eingelesen.
Gruß Uli

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

Guest

Originally posted by: <email address deleted>

Hallo Uli,

trifft dies auch auf interne Variablen vom Typ $Variable zu ??? wie man
eine $Variable in eine Dummy-Variable schreibt konnte ich noch nicht
erfolgreich umsetzen.

Gruß Herti

Am Sonntag, 16. Dezember 2012 08:03:47 UTC+1 schrieb UliM:
>
> Hi,
> Vor dem Neustart den Befehl 'Save' absetzen -> letzter Wert des Dummy wird
> nach fhem.save geschrieben und bei Beustart wieder eingelesen.
> Gruß Uli

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

UliM

                                                 

Am Sonntag, 16. Dezember 2012 18:09:59 UTC+1 schrieb Herti:
>
> Hallo Uli,
>
> trifft dies auch auf interne Variablen vom Typ $Variable zu ??? wie man
> eine $Variable in eine Dummy-Variable schreibt konnte ich noch nicht
> erfolgreich umsetzen.
>
> Gruß Herti
>
> Hi,
fhem-Variablen kannst Du mit den Funktionen Value(), OldValue(), AttrVal(),
ReadingsVal() und ReadingsTimestamp() auslesen und zB in Deinen eigenen
hash übernhmen oder per set auf ein dummy-device schreiben.
Das alles könntest Du auch aus dem fhem-hash auslesen, mit den Funktionen
ist's aber komfortabler.

define mydummy dummy
{ fhem "set mydummy " . Value("anderesDevice") }

Siehe auch http://fhem.de/commandref.html#perl

=8-)

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

UliM

                                                 

> Am Sonntag, 16. Dezember 2012 18:09:59 UTC+1 schrieb Herti:
>>
>> trifft dies auch auf interne Variablen vom Typ $Variable zu ???
>
>
>
Bin nicht sicher ob ich die Frage richtig verstehe, aber es sollte analog
gehen:
 { fhem "set mydummy $Variable" }

Oder nur einen dummy, und dann die Variablenwerte in die Readings:
my $dev="mydummy";

$defs{$dev}{READINGS}{Wert1}{VAL} = $Variable1;

$defs{$dev}{READINGS}{Wert2}{VAL} = $Variable2;
...
und nach Neustart
$Variable1 = ReadingsVal("mydummy","Wert1","");

ACHTUNG: Ungetestet - bitte nur in Testumgebung probieren - Du könntest Dir das fhem-hash zerschiessen

=8-)

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

Guest

Originally posted by: <email address deleted>

Hallo UliM,

vielen Dank für deine Antworten, bin zeitlich leider jetzt erst wieder zum
testen gekommen.
Also irgendwie klappt es trotzdem nicht so richtig :-(

Ich habe jetzt folgende Eingaben im CMD-Fenster eingegeben;
set brenner_zaehler_minuten_ges " .Value($data{brenner_min_ges}) ---> Im
Readings State erscheint Text: " .Value($data{brenner_min_ges})
set brenner_zaehler_minuten_ges .Value($data{brenner_min_ges})   ---> Im
Readings State erscheint Text: .Value($data{brenner_min_ges})
set brenner_zaehler_minuten_ges ($data{brenner_min_ges})            ---> Im
Readings State erscheint Text: ($data{brenner_min_ges})
set brenner_zaehler_minuten_ges $data{brenner_min_ges}              ---> Im
Readings State erscheint Text: $data{brenner_min_ges}

Da die Variable $data{brenner_min_ges} in der fhem.cfg berechnet wird
enthält diese einen Wert, diesen Wert möchte ich in die Dummy-Variable
brenner_zaehler_minuten_ges speichern um ihn in der Weboberfläche sehen zu
können und natürlich auch speichern zu können zwecks neustart etc.
Der Wert ist auch wirklich da, da ich diesen aktuell im logfile mitschreibe.
Mache ich da einen Denkfehler ???

Gruß und allen ein frohes und besinnliches Weihnachtsfest !


Am Sonntag, 16. Dezember 2012 18:55:34 UTC+1 schrieb UliM:
>
>
> Am Sonntag, 16. Dezember 2012 18:09:59 UTC+1 schrieb Herti:
>>>
>>> trifft dies auch auf interne Variablen vom Typ $Variable zu ???
>>
>>
>>
> Bin nicht sicher ob ich die Frage richtig verstehe, aber es sollte analog
> gehen:
>  { fhem "set mydummy $Variable" }
>
> Oder nur einen dummy, und dann die Variablenwerte in die Readings:
> my $dev="mydummy";
>
> $defs{$dev}{READINGS}{Wert1}{VAL} = $Variable1;
>
> $defs{$dev}{READINGS}{Wert2}{VAL} = $Variable2;
> ...
> und nach Neustart
> $Variable1 = ReadingsVal("mydummy","Wert1","");
>
> ACHTUNG: Ungetestet - bitte nur in Testumgebung probieren - Du könntest Dir das fhem-hash zerschiessen
>
> =8-)
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

UliM

Zitat: Anonymous schrieb am Di, 25 Dezember 2012 14:01
----------------------------------------------------
> Originally posted by: hertitablet&#64googlemail.com
 
> Ich habe jetzt folgende Eingaben im CMD-Fenster eingegeben;
> set brenner_zaehler_minuten_ges " .Value($data{brenner_min_ges}) ---> Im
> Readings State erscheint Text: " .Value($data{brenner_min_ges})

Hi,
Value((//images/smiley_icons/icon_wink.gif) ist eine {Perl-Funtkion}, Du musst sie also auch als solche aufrufen:

set brenner_zaehler_minuten_ges {Value("brenner_min_ges")}

unter der Annahme, dass brenner_min_ges ein fhem-device ist.
Analog geht auch ReadingsVal((//images/smiley_icons/icon_wink.gif), falls Du ein reading auslesen möchtest.
 
Geht's damit?

Gruß, Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

Guest

Originally posted by: <email address deleted>

Moin moin,

leider geht es damit nicht.

brenner_min_ges  ist kein Fhem-Device sondern eine Perl-Variable Namens
$data{brenner_min_ges} also eine skalare Variable in einem assoziativem
Array.

Wenn ich also in der Fhem-CMD z.B.
{$data{brenner_min_ges}} eingebe, erscheint als Ausgabe der Wert der in
dieser Variable gespeichert ist, das funktioniert wie es soll ;-)

Aber genau diesen Ausgabewert der Variable möchte ich nun in ein
Fhem-Device "brenner_zaehler_minuten_ges" vom Typ dummy speichern, hier
scheiterts ;-(

Im State des Fhem-Devices "brenner_zaehler_minuten_ges" erscheint immer nur
die Syntax, die via set befehl eingegeben wurde aber nicht der Wertinhalt
der Perl-Variable.

Bsp. in Fhem-CMD:
set brenner_zaehler_minuten_ges {$data{brenner_min_ges}}   ---> schreibt in
den State von brenner_zaehler_minuten_ges den Text:
{$data{brenner_min_ges}}
das gleiche bei:
set brenner_zaehler_minuten_ges {Value({$data{brenner_min_ges}})}


Am Dienstag, 25. Dezember 2012 15:26:40 UTC+1 schrieb UliM:
>
>
> Zitat: Anonymous schrieb am Di, 25 Dezember 2012 14:01
> ----------------------------------------------------
> > Originally posted by: <email address deleted>
>  
> > Ich habe jetzt folgende Eingaben im CMD-Fenster eingegeben;
> > set brenner_zaehler_minuten_ges " .Value($data{brenner_min_ges}) ---> Im
> > Readings State erscheint Text: " .Value($data{brenner_min_ges})
>
> Hi,
> Value() ist eine {Perl-Funtkion}, Du musst sie also auch als solche
> aufrufen:
>
> set brenner_zaehler_minuten_ges {Value("brenner_min_ges")}
>
> unter der Annahme, dass brenner_min_ges ein fhem-device ist.
> Analog geht auch ReadingsVal(), falls Du ein reading auslesen möchtest.
>  
> Geht's damit?
>
> Gruß, Uli
> --
> send via http://forum.fhem.de
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

UliM

Zitat: Anonymous schrieb am Mi, 26 Dezember 2012 10:51
----------------------------------------------------
> Originally posted by: hertitablet&#64googlemail.com
>

> Bsp. in Fhem-CMD:
> set brenner_zaehler_minuten_ges {$data{brenner_min_ges}}   ---> schreibt in
> den State von brenner_zaehler_minuten_ges den Text:
> {$data{brenner_min_ges}}

Hast Du mal versucht
{fhem("set brenner_zaehler_minuten_ges ".$data{brenner_min_ges})}
oder
{fhem("set brenner_zaehler_minuten_ges $data{brenner_min_ges}")}

Gruß, Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

Guest

Originally posted by: <email address deleted>

S P I T Z E  !!!! das wars !

beide Befehle erwirken genau das richtige Ergebnis.

Also vielen lieben Dank noch mal für deine Hilfe, nun kann ich endlich die
Werte in der Weboberfläche anzeigen und vor Ausfall speichern.

Gruß Herti


Am Mittwoch, 26. Dezember 2012 11:21:49 UTC+1 schrieb UliM:
>
>
> Zitat: Anonymous schrieb am Mi, 26 Dezember 2012 10:51
> ----------------------------------------------------
>
> Hast Du mal versucht
> {fhem("set brenner_zaehler_minuten_ges ".$data{brenner_min_ges})}
> oder
> {fhem("set brenner_zaehler_minuten_ges $data{brenner_min_ges}")}
>
> Gruß, Uli
> --
> FB7390, CUL V3 (FS20, CUL_WS, CUL_EM), HMLAN (HomeMatic)
> --
> send via http://forum.fhem.de
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com