Arduino: Status "on-for-timer" abfragen

Begonnen von stobor, 09 März 2019, 21:12:42

Vorheriges Thema - Nächstes Thema

stobor

#15
Kann ich den Filter auch irgendwie in if-Abfragen verwenden? Denn auch mein letzter Vorschlag funzt natürlich nicht, da auch ein on-for-timer ein on als Value liefert.
Wie würde man den Filter in eine if-Abfrage verpacken?
Intel NUC (Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-113-generic x86_64))  mit CUL V3.2 (FW 1.57 CUL868) für FS20 und CCU3 für HM(IP) + Arduino Mega (Firmata) - FHEM Revision: 29534 - FS20, HM(IP), MQTT, Philips HUE, ModBus

Wzut

ich selbst arbeite wenig mit Filtern , aber du kannst auf jeden Fall in der if Abfrage das vohandensein der Timed_OnOff Struktur testen.
InternalVal(<devicename>,<property>,<defaultvalue>) ->

if (defined(InternalVal('Arduino_Pin5_Licht_West','Timed_OnOff',undef))  { bla blub }
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

stobor

#17
Bei mir will das irgendwie nicht:

define chkTestOn notify Testschalter:on {\
my $myVal=defined(InternalVal('Arduino_Pin2_Licht_Nord','Timed_OnOff',undef));;\
Log 1, "Arduino_Pin2_Licht_Nord: $myVal";;\
if ((Value("PIR_Automatik") eq "on") && (Value("isNACHT") eq "on") && (defined(InternalVal('Arduino_Pin2_Licht_Nord','Timed_OnOff',undef)))) {\
Log 1, "Arduino_Pin2_Licht_Nord im Timerbetrieb";;\
} else {\
Log 1, "Arduino_Pin2_Licht_Nord NICHT im Timerbetrieb";;\
}\
}


Egal, ob ich das Licht ein- oder aus-schalte oder ein on-for-timer sende, im Log steht immer:
2019.04.25 22:48:25 1: Arduino_Pin2_Licht_Nord:
2019.04.25 22:48:25 1: Arduino_Pin2_Licht_Nord NICHT im Timerbetrieb


isNACHT und PIR_Automatik stehen auf on.

Idee?
Intel NUC (Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-113-generic x86_64))  mit CUL V3.2 (FW 1.57 CUL868) für FS20 und CCU3 für HM(IP) + Arduino Mega (Firmata) - FHEM Revision: 29534 - FS20, HM(IP), MQTT, Philips HUE, ModBus

Beta-User

Rudi hat am SetExtensions-Code jüngst was geändert.
Jetzt kann man einfach ein weiteres Internal abfragen, "SetExtensionsCommand", das nur vorhanden ist, solange ein SE-Timer läuft. Bei Bedarf in den aktuellen 98_dummy.pm-Code schauen.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Wzut

Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

stobor

Zitat von: Beta-User am 26 April 2019, 06:14:17
Rudi hat am SetExtensions-Code jüngst was geändert.
Jetzt kann man einfach ein weiteres Internal abfragen, "SetExtensionsCommand", das nur vorhanden ist, solange ein SE-Timer läuft. Bei Bedarf in den aktuellen 98_dummy.pm-Code schauen.

Hast Du noch einen Tipp, wie ich das verwenden soll? Ich habe gerade FHEM per update auf den neusten Stand gebracht. Ich weiß allerdings nicht genau, wonach ich in der 98_dummy suchen soll bzw. wie das zu verstehen und umzusetzen ist.
Intel NUC (Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-113-generic x86_64))  mit CUL V3.2 (FW 1.57 CUL868) für FS20 und CCU3 für HM(IP) + Arduino Mega (Firmata) - FHEM Revision: 29534 - FS20, HM(IP), MQTT, Philips HUE, ModBus

stobor

Zitat von: Wzut am 26 April 2019, 07:10:31
das gibt es nicht :) -> TIMED_OnOff

Oh, danke. So komme ich der Sache näher.

Nun erhalte ich im Log
2019.04.26 08:03:16 1: Arduino_Pin2_Licht_Nord: 1
2019.04.26 08:03:16 1: Arduino_Pin2_Licht_Nord NICHT im Timerbetrieb

, sobald es einen on-for-timer Status gibt.
Bei on oder off:

2019.04.26 08:03:54 1: Arduino_Pin2_Licht_Nord:
2019.04.26 08:03:54 1: Arduino_Pin2_Licht_Nord NICHT im Timerbetrieb


Damit kann ich ja schon einmal arbeiten.
Intel NUC (Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-113-generic x86_64))  mit CUL V3.2 (FW 1.57 CUL868) für FS20 und CCU3 für HM(IP) + Arduino Mega (Firmata) - FHEM Revision: 29534 - FS20, HM(IP), MQTT, Philips HUE, ModBus

Beta-User

Zitat von: stobor am 26 April 2019, 07:59:24
Hast Du noch einen Tipp, wie ich das verwenden soll? Ich habe gerade FHEM per update auf den neusten Stand gebracht. Ich weiß allerdings nicht genau, wonach ich in der 98_dummy suchen soll bzw. wie das zu verstehen und umzusetzen ist.
Moin,

es geht (im Prinzip) um diese Änderung: https://svn.fhem.de/trac/changeset/19189/

Wenn es darum gehen sollte, einfach ein passendes devStateIcon zu haben, kann evtl. das aktuelle zigbee2mqtt_devStateIcon255($;$$) aus MQTT2_DEVICE (Zeile 712ff) weiterhelfen; wenn du MQTT2_DEVICE nicht geladen hast (also keine entsprechenden Devices definiert), einfach die Zeilen (am besten unter anderem Namen) in eine myUtils packen.
Sollte dann mit
attr <device> devStateIcon {zigbee2mqtt_devStateIcon255($name,'',1)}(bzw. dem geänderten Funktionsnamen) das gewünschte Ergebnis liefern...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

stobor

ich denke, mein Problem ist gelöst :-)

if ((Value("PIR_Automatik") eq "on") && (Value("isNACHT") eq "on") && (defined(InternalVal('Arduino_Pin2_Licht_Nord','TIMED_OnOff',undef)) eq "1")) {\


Danke für die Hilfe!
Intel NUC (Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-113-generic x86_64))  mit CUL V3.2 (FW 1.57 CUL868) für FS20 und CCU3 für HM(IP) + Arduino Mega (Firmata) - FHEM Revision: 29534 - FS20, HM(IP), MQTT, Philips HUE, ModBus

Wzut

#24
oh ha .... schwöööööre Geburt :)
(defined(InternalVal('Arduino_Pin2_Licht_Nord','TIMED_OnOff',undef)) eq "1")
verstehe ich allerdings nicht , wozu noch eq "1" ? entweder es ist defined oder eben nicht .....
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

stobor

Zitat von: Wzut am 27 April 2019, 18:44:08
oh ha .... schwöööööre Geburt :)
(defined(InternalVal('Arduino_Pin2_Licht_Nord','TIMED_OnOff',undef)) eq "1")
verstehe ich allerdings nicht , wozu noch eq "1" ? entweder es ist defined oder eben nicht .....

Siehe Antwort #21: Die Rückgabewerte sind schon komisch.
Intel NUC (Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-113-generic x86_64))  mit CUL V3.2 (FW 1.57 CUL868) für FS20 und CCU3 für HM(IP) + Arduino Mega (Firmata) - FHEM Revision: 29534 - FS20, HM(IP), MQTT, Philips HUE, ModBus