Neues Modul: Rolladensteuerung

Begonnen von ThomasRamm, 11 Januar 2016, 00:00:21

Vorheriges Thema - Nächstes Thema

willybauss

Zitat von: KernSani am 02 April 2017, 23:55:16
Die ist auch eher für den Modulautor gedacht (der aber irgendwie sehr still ist)
Schon mal mit 'ner PN versucht?
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

willybauss

Zitat von: KernSani am 02 April 2017, 22:59:29
In dem angehängtem patch habe ich ein Attribut "forceDrive" eingeführt.

Habs mal zu testen versucht:

reload: Error:Modul 44_ROLLO deactivated:
Bareword "true" not allowed while "strict subs" in use at ./FHEM/44_ROLLO.pm line 230, <$fh> line 1497.
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

KernSani

Zitat von: willybauss am 03 April 2017, 08:53:53
Habs mal zu testen versucht:

reload: Error:Modul 44_ROLLO deactivated:
Bareword "true" not allowed while "strict subs" in use at ./FHEM/44_ROLLO.pm line 230, <$fh> line 1497.

Ups... seltsam... Schaue ich mir heute abend mal an.
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

KernSani

#468
Zitat von: willybauss am 03 April 2017, 08:53:53
Habs mal zu testen versucht:

reload: Error:Modul 44_ROLLO deactivated:
Bareword "true" not allowed while "strict subs" in use at ./FHEM/44_ROLLO.pm line 230, <$fh> line 1497.


Komisch, dass das bei mir nicht auftritt... Ist gefixt (und noch ein bisschen mehr)

EDIT: Die von mir verpfuschte autoStop-Funktion korrigiert...
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

KernSani

@jazzor, invers:

ohne jetzt alles im Detail durchzugehen... Verstehe ich das richtig, ihr habt zwei Probleme:
1.) Kanalwechsel soll vor dem eigentlichen Kommando erfolgen: Das ROLLO Modul arbeitet stumpf die in den command.* Attributen angegebenen Befehle ab (auch mehrere in einem Attribut), es sollte also eigentlich möglich sein den Kanalwechsel vorher aufzurufen.
2.) Bei mehreren Rollos kommt es vor, dass das Stop Kommando verloren geht, weil gerade andere Befehle unterwegs sind: Ich schalte die Rollläden mit async_delay immer um ein Sekunde zeitverzögert, das ist bei mir ausreichend. Wenn das bei euch wegen der langen Schaltzeiten nicht ausreicht, könnte man was bauen, dass man den zweiten Rollo erst loslaufen lässt, wenn der erste seine Zielposition erreicht hat (state wird nach dem stop-Kommando aktualisiert, könnte also als Trigger dienen). Eine sequentielle Abarbeitung im ROLLO-Modul selbst zu erzwingen wäre schwierig, da im Grunde jeder ROLLO eine unabhängige Instanz ist. Was ich mir vorstellen könnte, wäre ein neues Modul, ähnlich einem IODev, das als "Queue" dient, alle ROLLOs schicken ihre Kommandos an dieses neue Modul, das dann open/closed einfach durchreicht und half o.ä. puffert und sequentiell abarbeitet... Wäre aber auch nicht ohne Aufwand...

Grüße,

Oli

   
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

KernSani

Zitat von: Invers am 02 April 2017, 23:41:19
Das ist eigenartig, denn bei mir funktioniert es so, wie es sollte. Habe ich jetzt gerade noch einmal probiert.
Jou... mein Fehler... Hab mich bei meinen Spielereien "verlöscht"...
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

willybauss

Zitat von: KernSani am 03 April 2017, 21:17:58
Komisch, dass das bei mir nicht auftritt... Ist gefixt (und noch ein bisschen mehr)

EDIT: Die von mir verpfuschte autoStop-Funktion korrigiert...

Bareword "true" not allowed while "strict subs" in use at ./FHEM/44_ROLLO.pm line 230


Ich lass das jetzt bleiben. Falls sonst Jemand testen mag ...
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

KernSani

#472
Zitat von: willybauss am 03 April 2017, 23:09:31
Bareword "true" not allowed while "strict subs" in use at ./FHEM/44_ROLLO.pm line 230


Ich lass das jetzt bleiben. Falls sonst Jemand testen mag ...
irgendwie scheint der Upload nicht richtig funktioniert zu haben... Noch ein Versuch

EDIT: hab's verifiziert... Die angehängte Version ist diesmal die Richtige...
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

weini

Nun ist nach vielen Monaten der Master auf Github aktualisiert wurden, der Bugfix "bug_extern_autostop" https://github.com/RettungsTim/fhem-rollo/commit/5dc9d231570bace70c2b64385a47380be07550d8 aus dem develop-Branch wurde aber nicht integriert.
Dieser Bugfix läuft bei mir seit Oktober 2016 einwandfrei und mir sind auch aus dem Thread keine unerwünschten Nebenwirkungen bekannt.

Könntet ihr den in den Master übernmehmen?

willybauss

@KernSani:
Hab den Patch getestet. Der "open" Befehl wird immer geforced ausgeführt, egal ob forceDrive gesetzt ist oder nicht. War das so beabsichtigt? Sicher nicht.

So habe ich getestet:
- forceDrive Attribut nicht gesetzt, also weder 0 noch 1
- Rollladen mit dem ROLLO-Modul geöffnet  =>ROLLO zeigt einen geöffneten Rollladen an
- Rollladen mit dem Tastschalter an der Wand geschlossen => fhem-ROLLO weiß nichts davon
- am ROLLO-UserInterface "open" gedrückt => der Rollladen fährt hoch, obwohl ROLLO glaubt, dass er bereits oben ist

- wenn forceDrive auf 0 ist passiert dasselbe
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

KernSani

#475
@Willi:

Danke für's testen. Ich habe das gerade noch einmal versucht nachzuvollziehen... Ich nehme an, du hast autoStop gesetzt und hast excessBottom bzw. excessTop ebenfalls Werte. Dann tritt genau die von mir oben genannte Situation ein, dass der Rollladen die excess.* Zeit laufen will, wegen gesetztem autoStop aber durchläuft... Ich schau mal, was ich da noch machen kann...

EDIT: Fix angehängt
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

weini

@KerniSani: Schau dir dazu nochmal den Patch aus dem devel-Branch an. Das wurde meines Wissens schon gefixed.

siehe 3 Posts weiter oben

KernSani

@Weini: Das autostop_extern Problem ist unabhängig von "meinem" Problem. Wenn es relevant ist, kann ich den Fix aber gerne in meine inoffizielle Version mit aufnehmen.

RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

weini

@KernSani: Die Integration würde ich sehr sinnvoll finden.

Leider ist wohl aktuell in der Pflege des Github-Standes ein wenig "der Wurm drin"

willybauss

Zitat von: KernSani am 04 April 2017, 22:01:25
@Willi:

Danke für's testen. Ich habe das gerade noch einmal versucht nachzuvollziehen... Ich nehme an, du hast autoStop gesetzt und hast excessBottom bzw. excessTop ebenfalls Werte. Dann tritt genau die von mir oben genannte Situation ein, dass der Rollladen die excess.* Zeit laufen will, wegen gesetztem autoStop aber durchläuft... Ich schau mal, was ich da noch machen kann...

EDIT: Fix angehängt

AutoStop ist auf 0 (also nicht gesetzt), aber excess* sind gesetzt >0.
Fix scheint zu funktionieren. Beim ersten Lauf nach umstellen von forceDrive von 0 nach 1 ging's nicht, aber ab dem 2. Versuch gings. Besten Dank.
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS