neue Features: defaultvalue, readingList, Ereignisfilter, Attribut checkall

Begonnen von Damian, 05 Oktober 2016, 19:58:14

Vorheriges Thema - Nächstes Thema

Damian

Zitat von: Ellert am 30 November 2016, 10:44:42

Wenn state initialized ist und my geändert wird, dann wird state auf "" gesetzt/aktualisiert.
Wenn state initialized ist und das Attribut wait übers Frontend geändert/aktualisiert wird, dann wird state auf ""/aktualisiert gesetzt.

In der Releaseversion wird state durch my nicht beeinflusst, das sollte auch so bleiben.

Das Problem war, das du zuerst mit state getestet hast und dann mit wait. Beim Löschen des state-Attributs wurde intern das Triggern auf $SELF nicht gelöscht.

Jetzt sollte es funktionieren.

Bei den Readings können wir evtl. in der Commandref schreiben, dass Readings mit <A_Z>_ zukunftsicher sind, weil sie für User reserviert sind und auch zukünftig nicht vom Modul selbst benutzt werden.

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

JoeALLb

Zitat von: Damian am 30 November 2016, 17:35:32
Bei den Readings können wir evtl. in der Commandref schreiben, dass Readings mit <A_Z>_ zukunftsicher sind, weil sie für User reserviert sind und auch zukünftig nicht vom Modul selbst benutzt werden.
Gefällt mir, diese Lösung!
Kannst Du noch bitte kurz meinen Test mit "state" kommentieren? Sollte das gehen, oder ist das so nicht gedacht? Dann nute ich einfach ein anderes Reading. Da es bei dummys geht, denke ich jedoch, sollte dieser Fall dann auch in der Doku genannt werden.

FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270

Damian

Zitat von: JoeALLb am 30 November 2016, 17:54:40
Gefällt mir, diese Lösung!
Kannst Du noch bitte kurz meinen Test mit "state" kommentieren? Sollte das gehen, oder ist das so nicht gedacht? Dann nute ich einfach ein anderes Reading. Da es bei dummys geht, denke ich jedoch, sollte dieser Fall dann auch in der Doku genannt werden.

readingList hat Ellert vom dummy übernommen und im DOIF eingebaut. Da kann ich leider nichts zu sagen. Ich habe diesen Teil nicht programmiert.

 
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Ellert

Zitat von: JoeALLb am 30 November 2016, 17:54:40
Gefällt mir, diese Lösung!
Kannst Du noch bitte kurz meinen Test mit "state" kommentieren? Sollte das gehen, oder ist das so nicht gedacht? Dann nute ich einfach ein anderes Reading. Da es bei dummys geht, denke ich jedoch, sollte dieser Fall dann auch in der Doku genannt werden.

readingsList state und setList state:,0,1,2 funktionieren im Dummy nur scheinbar. Das Reading state wird nicht mit an die SetFn übergeben, damit wird setList state:,0,1,2 zu setList 0 1 2 reduziert. Selbst wenn ich state wieder hinzufüge, wird state zwar gesetzt, aber an irgend einer anderen Stelle im DIOF sofort wieder mit dem wirklichen Status überschrieben.

Daher gibt es zum Setzen von state im DOIF das Attribut cmdState, den Befehl setreading und setstate.

JoeALLb

Zitat von: Ellert am 30 November 2016, 18:43:27
Daher gibt es zum Setzen von state im DOIF das Attribut cmdState, den Befehl setreading und setstate.

Sorry, aber ich verstehe die Antwort nicht. Bedeutet das:
a) Ich soll state einfach nicht nutzen?
b) Ich soll statt state setstate nutzen? habe ich getestet, funktioniert nicht.
c) es muss zuerst noch genauer gesucht werden, wo "state" im doif nochmal geändert wird um es zu korrigieren?

Ich werde im Moment besser a) machen ;-)

Danke... Grüße
FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270

Ellert

Zitat von: Damian am 30 November 2016, 17:35:32
Das Problem war, das du zuerst mit state getestet hast und dann mit wait. Beim Löschen des state-Attributs wurde intern das Triggern auf $SELF nicht gelöscht.

Jetzt sollte es funktionieren.

Bei den Readings können wir evtl. in der Commandref schreiben, dass Readings mit <A_Z>_ zukunftsicher sind, weil sie für User reserviert sind und auch zukünftig nicht vom Modul selbst benutzt werden.

Hallo Damian,

ich habe bis jetzt keine Probleme festgestellt.

Die Doku habe ich angepasst.

Damian

Zitat von: Ellert am 30 November 2016, 20:54:48
Hallo Damian,

ich habe bis jetzt keine Probleme festgestellt.

Die Doku habe ich angepasst.

Ich habe es eingecheckt. Es fehlten noch zwei Readings beim Löschen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Ellert

Hallo Damian, ich habe die Änderung für setList nachgezogen, siehe https://forum.fhem.de/index.php/topic,61742.msg532455.html#msg532455
Das Trennzeichen für setList wurde um "\n" egänzt.

Grundlage: 98_DOIF.pm 12691 2016-11-30 21:16:44Z damian-s

JoeALLb

FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

JoeALLb

FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270

Ellert

Hallo Damian,

ich setze die Diskussion hier mal fort.

Ich habe DOIF ergänzt, so dass per get-Befehl die Regexp für FileLog und die Definition zum Import mit "Raw definition" angezeigt wird.

Wenn es so ins DOIF darf, müsste ich die Doku ergänzen.

Grundlage: 98_DOIF.pm 12703 2016-12-03 08:07:02Z damian-s


Damian

Zitat von: Ellert am 10 Dezember 2016, 15:14:42
Hallo Damian,

ich setze die Diskussion hier mal fort.

Ich habe DOIF ergänzt, so dass per get-Befehl die Regexp für FileLog und die Definition zum Import mit "Raw definition" angezeigt wird.

Wenn es so ins DOIF darf, müsste ich die Doku ergänzen.

Grundlage: 98_DOIF.pm 12703 2016-12-03 08:07:02Z damian-s

Aus welchem DOIF hast du die Logfile-Definition erzeugt? Es fällt auf, dass bereits die erste Regex-Angabe button_...:.* schon alles abdeckt, die restlichen hier also überflüssig wären.

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Ellert

Ja, das ist ein schlechtes Beispiel, damit habe ich die Regexp getestet.
Mit diesem DOIF
## 1
(["button_Labor000:short"] and $cmd=~"0|4")
   (set lamp1_Labor000 on)
## 2
DOELSEIF (["button_Labor000$:short"] and $cmd==1)
   (set lamp2_Labor000 on, set lamp1_Labor000 off)
## 3
DOELSEIF (["button_Labor000:short$","Long"] and $cmd==2)
   (set lamp(1|2)_Labor000 on)
## 4
DOELSEIF ([button_Labor000:"short"] and $cmd==3)
   (set lamp(1|2)_Labor000 off)

Damian

Zitat von: Ellert am 10 Dezember 2016, 16:42:34
Ja, das ist ein schlechtes Beispiel, damit habe ich die Regexp getestet.
Mit diesem DOIF
## 1
(["button_Labor000:short"] and $cmd=~"0|4")
   (set lamp1_Labor000 on)
## 2
DOELSEIF (["button_Labor000$:short"] and $cmd==1)
   (set lamp2_Labor000 on, set lamp1_Labor000 off)
## 3
DOELSEIF (["button_Labor000:short$","Long"] and $cmd==2)
   (set lamp(1|2)_Labor000 on)
## 4
DOELSEIF ([button_Labor000:"short"] and $cmd==3)
   (set lamp(1|2)_Labor000 off)


Woher kommt denn Schrittschalter in der Regex?
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF