[gelöst] 99_myUtils.pm: Ausgabe von fhem ("<befehl>") in Variable speichern

Begonnen von StefanD, 11 Februar 2015, 17:29:03

Vorheriges Thema - Nächstes Thema

StefanD

Ich stehe grad so dermaßen auf dem Schlauch, da ich mich wohl auch zum Suchen hier, im Wiki und über Google zu doof anstelle...  ::)

Ich möchte die Ausgabe eines FHEM Kommandos, welches ich in einer Funktion in der 99_myUtils.pm ausführe gerne zur weiteren Verarbeitung in eine Variable speichern, scheitere aber kläglich...

Folgendes funktioniert nicht, die Variable bleibt leer:
my $mRawList = fhem ("list TYPE=CUL_HM actuator")

Im FHEM Log wird die Ausgabe protokolliert:
2015.02.11 17:06:53 3: list TYPE=CUL_HM actuator : dg_st_Heizkoerper    2015-02-11 17:05:47 30
eg_gt_Heizkoerper    2015-02-11 17:04:50 35
eg_wz_Heizkoerper_Essecke 2015-02-11 17:06:17 100
...


Any hints?

Viele Grüße
Stefan
HW: Intel NUC8i5 mit ESXi7 mit Ubuntu Server 18.04 LTS und FHEM als DockerContainer

Mitch

Bin mir jetzt auch nicht sicher, aber die Ausgabe von list kannst Du so nicht speichern.
Probier doch mal devspec2array

So in etwa:
my $mRawList = devspec2array("TYPE=CUL_HM actuator")

Ohne Gewähr  ;D
FHEM im Proxmox Container

StefanD

Zitat von: Mitch am 11 Februar 2015, 17:31:53
Probier doch mal devspec2array
...Ohne Gewähr  ;D

Danke, das war der richtige Tipp, der mich vom Schlauch geschubst hat!  ;D
Ganz so tut's zwar nicht, aber ich bin dadurch auf diesen WikiArtikel (http://www.fhemwiki.de/wiki/Heizungskontrolle_Einfach) aufmerksam geworden, der mich auch auf eine noch kompaktere Lösung gebracht hat.  :)

Viele Grüße
Stefan
HW: Intel NUC8i5 mit ESXi7 mit Ubuntu Server 18.04 LTS und FHEM als DockerContainer

StefanD

Hier meine Funktion zum Ermitteln des höchsten Ventilöffnungswert:
my $GetCurrentMaxValvePosition;
sub GetCurrentMaxValvePosition()
{
my $mValveMax = 0;
my @mRawList = devspec2array("TYPE=CUL_HM");
foreach(@mRawList) {
    my $lValue = ReadingsVal($_, "actuator", 0);
if($lValue > $mValveMax) { $mValveMax = $lValue; }
  }
return ($mValveMax);
}
HW: Intel NUC8i5 mit ESXi7 mit Ubuntu Server 18.04 LTS und FHEM als DockerContainer