Hallo,
ich habe ein DummyDevice, welches mehrere Readings als eine Art ToDo-List hat.
Also Device Aufgaben, Readings waesche, buegeln, saugen etc.
Diese Readings haben entweder den Status on oder off.
Jetzt möchte ich gern ein Dummy mit on, wenn mindestens eins der Readings auf on steht, ansonsten off.
Hab es mit ReadingsGroup probiert, bekomme es aber nicht hin.
Vielleicht kann mir hier jemand helfen, Google konnte es leider nicht.
Gruß
Sascha
Hallo,
vielleicht nicht die geschickteste Variante aber vielleicht hilft folgendes (wenn ich richtig verstanden habe was du meinst):
notify der auf dein Dummy "reagiert" und dann ein 'sub' in myUtils aufruft wo du die Readings aller Einträge des "Aufgaben-Dummy" prüfst und dann nach deinen Wünschen/Vorstellungen entweder ein Reading eines anderen Dummy (so hab ich das verstanden?) setzt 'setreading' oder einfach gleich den Status des Aufgaben-Dummy nimmst 'setstate'...
Oder im gleichen Dummy (Aufgaben-Dummy) ein "Sammel-Reading" setzt (wieder 'setreading').
Gruß, Joachim
Zitat von: MadMax-FHEM am 26 März 2016, 21:45:27
Hallo,
vielleicht nicht die geschickteste Variante aber vielleicht hilft folgendes (wenn ich richtig verstanden habe was du meinst):
notify der auf dein Dummy "reagiert" und dann ein 'sub' in myUtils aufruft wo du die Readings aller Einträge des "Aufgaben-Dummy" prüfst und dann nach deinen Wünschen/Vorstellungen entweder ein Reading eines anderen Dummy (so hab ich das verstanden?) setzt 'setreading' oder einfach gleich den Status des Aufgaben-Dummy nimmst 'setstate'...
Oder im gleichen Dummy (Aufgaben-Dummy) ein "Sammel-Reading" setzt (wieder 'setreading').
Gruß, Joachim
Erstmal Danke ...
Aber ich wollte etwas flexibler bleiben, wenn ich die Readings ändern/erweitern möchte.
Ich möchte nicht jedesmal den Code anpassen müssen, wenn ich ein Reading hinzufüge.
Habe es per readinggroup und notify hinbekommen, dass es bei irgendein on das Dummy auf on setzt.
Aufgaben:.* {if ($EVENT !~ m/off/) etc. ....
Allerdings noch nicht, dass es auf off setzt, wenn alle off sind.
Structure
Zitat von: marvin78 am 27 März 2016, 07:47:53
Structure
Meines Wissens nur für mehrere Device?!
Wenn du ein Codebeispiel für meinen Fall hast, gerne.
Sorry. Habe überlesen, dass es sich um einen dummy handelt. Hier würde ich einfach ein userReading machen, welches auf alle Readings reagiert mit etwas Perl Code.
Zitat von: pernodjaegermeister am 26 März 2016, 21:51:47
Aufgaben:.* {if ($EVENT !~ m/off/) etc. ....
Allerdings noch nicht, dass es auf off setzt, wenn alle off sind.
Codebeispiel habe ich nicht, aber vielleicht eine Idee ....
Kannst Du es nicht über einen Zähler lösen? Einen Dummy 'Anzahl_On' definieren, immer wenn es eine Änderung auf "on" gibt +1, bei Änderung auf "off" -1. Wenn 'Anzahl_On' = 0, dann sind alle aus ...
Gruss
willyk
Zitat von: willyk am 29 März 2016, 08:11:27
Codebeispiel habe ich nicht, aber vielleicht eine Idee ....
Kannst Du es nicht über einen Zähler lösen? Einen Dummy 'Anzahl_On' definieren, immer wenn es eine Änderung auf "on" gibt +1, bei Änderung auf "off" -1. Wenn 'Anzahl_On' = 0, dann sind alle aus ...
Gruss
willyk
Danke, willyk ... hab's jetzt so gemacht
define AufgabenNotify notify Aufgaben:.* {
my $anzahl = Value("Aufgaben");
if ($EVENT !~ m/off/) {$anzahl = $anzahl + 1;}
else {$anzahl = $anzahl - 1;}
fhem("set Aufgaben $anzahl");
}