44_ROLLO: Modul zur präzisen Steuerung von Rollläden

Begonnen von KernSani, 14 Januar 2019, 00:11:37

Vorheriges Thema - Nächstes Thema

MarkusSi

habe es umgeschrieben und es funktioniert.

Danke schön !!! :) :) :) :)

Gruß Markus


KernSani

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

grappa24

Zitat von: KernSani am 15 Januar 2019, 23:49:20
Ich habe noch ein paar mehr Ungereimtheiten festgestellt, in der Kombination von "extern" mit Schalten in FHEM (z.B. ROLLO wird extern gestartet aber über normales "stop"-Kommando gestoppt). Das muss ich mir aber mal in Ruhe anschauen und werde ich in den nächsten Tagen fixen.
würdest Du Dir bitte die extern Befehle noch mal kritisch anschauen, ich hab sporadisch Probleme, wenn zwischen Modul- und Extern-Steuerung gewechselt wird. Wenn ich was konkretes testen kann, sag bitte Bescheid - der Fehler ist nur schwer reproduzierbar  :-[
FHEM 6.1, 2 x RasPi 3B+, Debian Buster; KNX, FS20, HM, HUE, Tradfri, Shellies, KLF200
Rollo-/Lichtsteuerung/-szenarien, T-Sensoren, Fensterkontakte, Heizungssteuerung, HEOS, Sprachsteuerung mit Alexa-FHEM, Netatmo, Nuki, ...

KernSani

Zitat von: grappa24 am 23 Januar 2019, 18:44:27
würdest Du Dir bitte die extern Befehle noch mal kritisch anschauen, ich hab sporadisch Probleme, wenn zwischen Modul- und Extern-Steuerung gewechselt wird. Wenn ich was konkretes testen kann, sag bitte Bescheid - der Fehler ist nur schwer reproduzierbar  :-[
Ich hatte auch den Eindruck, dass da was nicht ganz rund läuft, könnte aber auch nichts konkretes finden. Ich schau nochmal...


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

Dieter68

Hallo,

leider habe ich auf meinem perfekt funktionierendem System ein Update Fhem laufen lassen.

Jetzt stehen bei mir alle Rollos still.

Per Set Befehl den ich über at zeitgesteuert ausführen ließ geht jetzt nichts mehr - was für ein Mist.

Wenn ich auf die Icons direkt in FHEM klicke laufen die Motoren erst immer nach dem 2. Klick.

Ich für meinen Fall habe vor einiger Zeit genau diesen Fehler an einem Rollo gehabt und habe darum mein ganzes System neu aufgesetzt.

Dazu habe ich auch hier schon einiges in einem anderen Teil gefragt - bin aber eben um eine Neuinstallation nicht herum gekommen.

Ich für meinen Fall werde wohl versuchen mein System per Backup wieder zurück zu setzen und hoffe das die Sache dann wieder läuft.

Für mich als Anfänger bringt das ganze Spiel jetzt mehr Arbeit als es an Nutzen bringt - schade. >:(

Wie kann ich das Modul Rolle von einem Update ausschließen.

Es wäre klasse wenn Ihr mir hier einen Tipp geben könntet.

Danke und Gruß
Dieter68




mrfloppy

ZitatWie kann ich das Modul Rolle von einem Update ausschließen.

attr global exclude_from_update 44_ROLLO.pm

LG
RaspiMatic, RFXtrx433 E USB, Div. Thermostate, CUL433, Fhemduino, Signalduino, Temp/luftfeuchesensoren,Fensterkontakte,Intertechno Schalter,....... HM-IP

KernSani

Hallo Dieter,
das ist natürlich ärgerlich, ich glaube aber nicht dass ein backup einspielen oder gar neu aufsetzen des Systems notwendig ist. Auch ROLLO vom update ausschliessen wird dir früher oder später Probleme bereiten, da FHEM sich weiter entwickelt. Lass uns lieber das Problem lösen. Ich vermute es hängt damit zusammen, dass ROLLO vor ca. Einem halben Hahr von ,,position" auf ,,pcr" umgestellt wurde, um mit anderen Modulen kompatibel zu sein. Bitte stelle mal einen ROLLO auf verbose 5, steuere ihn manuell und poste das zugehörige Log hier. Mach dann bitte noch ein ,,list" vom ROLLO und poste den Output.
Zudem wäre es hilfreich zu wissen, wie deine Zeitsteuerung aussieht (bitte entsprechendes DOIF oder was du sonst nutzt hier posten).
Grüße
Oli


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

Dieter68

Hallo Oli,

natürlich hast Du da Recht aber ich habe jetzt und in der Vergangenheit schon soviel Zeit gerade mit dem Modul verbracht das ich da wirklich entnervt bin.

Genau das aktuelle Fehlverhalten hatte ich ja am meinem letzten Fenster welches ich einbinden wollte. Ich habe damals tagelang gesucht und keinen Fehler finden können. Nach einer kompletten Neueinrichtung wofür ich 4 Abende geopfert habe hat die Sache funktioniert.

Jetzt hatte ich mal kurz Spaß mit der Sache da es endlich funktionierte und jetzt habe ich den Fehler an allen Fenstern. Was ich festgestellt habe ist das es eventuell mit den externen Steuerbefehlen zu tun hat aber ich als Anfänger in der Materie komme da nicht weiter.

Meine Anlage besteht aus je einem ESP8266 pro Rollo. An jedem Rolle gibt es noch einen Kipptaste mit Mittelstellung also ON:OFF:ON um die Motoren auch vor Ort per Hand zu steuern. An den Wohnzimmerfenstern habe ich an den ESP noch zwei zusätzliche Tasten um damit im Garten die Brunnenpumpe und die Außenbeleuchtung zu schalten. An den Steuerungen sind auch noch 2 LED die den jeweiligen Zustand anzeigen.

Ich habe mal eine Ansicht wie das bei mir in Fhem aktuell aussieht angehängt. Da ist jetzt keine besondere Ordnung drin da ich erst einmal nur auf die Funktion Wert gelegt habe.

Man sieht ja da ja auch die aktuell roten "Aus"-Schaltflächen über die ich die Motoren auch direkt ansteuern kann. Passieren kann da nichts da die Relais si geschaltet sind das sie sich gegenseitig verriegeln selbst wenn man gleichzeitig "Hoch" und "Runter" fahren würde.

Über den Zustand der Schaltflächen kann man auch direkt sehen ob die Motoren wirklich angesteuert werden oder eben nicht.

Aktuell ist es so das ich erst immer einen "Stop" Befehl senden muss bevor ich überhaupt die Motoren über das Rollo_Modul zu laufen bekomme.

Hier mal das Listing von einem Rollo-Modul
Internals:
   FUUID      5c4cc90e-f33f-f169-a3bf-46d78df780bb983c
   NAME       1.OG_WZ_Fenster
   NR         195
   STATE      closed
   TYPE       ROLLO
   stoptime   1548591512
   READINGS:
     2019-01-27 13:18:21   command         stop
     2019-01-27 13:18:21   desired_pct     99
     2019-01-27 13:18:21   drive-type      na
     2019-01-27 13:18:20   last_drive      drive-down
     2019-01-27 13:18:21   pct             99
     2019-01-27 13:18:21   state           closed
Attributes:
   cmdIcon    open:fts_shutter_up closed:fts_shutter_down stop:fts_shutter_manual half:fts_shutter_50
   devStateIcon open:fts_shutter_10:closed closed:fts_shutter_100:open half:fts_shutter_50:closed drive-up:fts_shutter_up@red:stop drive-down:fts_shutter_down@red:stop pct-100:fts_shutter_100:open pct-90:fts_shutter_80:closed pct-80:fts_shutter_80:closed pct-70:fts_shutter_70:closed pct-60:fts_shutter_60:closed pct-50:fts_shutter_50:closed pct-40:fts_shutter_40:open pct-30:fts_shutter_30:open pct-20:fts_shutter_20:open pct-10:fts_shutter_10:open pct-0:fts_shutter_10:closed
   rl_autoStop 0
   rl_commandDown set ESPEasy_Rollade_1.OG_WZ_Fenster_schliessen on
   rl_commandStopDown set ESPEasy_Rollade_1.OG_WZ_Fenster_schliessen off
   rl_commandStopUp set ESPEasy_Rollade_1.OG_WZ_Fenster_oeffnen off
   rl_commandUp set ESPEasy_Rollade_1.OG_WZ_Fenster_oeffnen on
   rl_excessBottom 8
   rl_excessTop 4
   rl_resetTime 3
   rl_secondsDown 6
   rl_secondsUp 10
   rl_switchTime 1
   rl_type    normal
   room       1.OG Wohnzimmer
   verbose    5
   webCmd     open:closed:half:stop:pct



Die externen Tasten erledige ich über zwei DoIF

Internals:
   DEF        ([ESPEasy_Rollade_1.OG_WZ_Fenster_oeffnen] eq "on" and [1.OG_WZ_Fenster] ne "drive-up") (set 1.OG_WZ_Fenster extern open) DOELSEIF ([ESPEasy_Rollade_1.OG_WZ_Fenster_oeffnen] eq "off") (set 1.OG_WZ_Fenster extern stop)
   FUUID      5c4cc90f-f33f-f169-e4e0-8b643b5d5dad540f
   MODEL      FHEM
   NAME       rollo_1.OG_WZ_Fenster_manuell_oeffnen
   NR         197
   NTFY_ORDER 50-rollo_1.OG_WZ_Fenster_manuell_oeffnen
   STATE      cmd_2
   TYPE       DOIF
   READINGS:
     2019-01-27 13:43:47   Device          ESPEasy_Rollade_1.OG_WZ_Fenster_oeffnen
     2019-01-27 13:18:05   cmd             2
     2019-01-27 13:18:05   cmd_event       ESPEasy_Rollade_1.OG_WZ_Fenster_oeffnen
     2019-01-27 13:18:05   cmd_nr          2
     2019-01-27 13:18:21   e_1.OG_WZ_Fenster_STATE closed
     2019-01-27 13:43:47   e_ESPEasy_Rollade_1.OG_WZ_Fenster_oeffnen_STATE off
     2018-12-06 18:17:08   mode            enabled
     2019-01-27 13:18:05   state           cmd_2
   Regex:
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0          ::InternalDoIf($hash,'ESPEasy_Rollade_1.OG_WZ_Fenster_oeffnen','STATE') eq "on" and ::InternalDoIf($hash,'1.OG_WZ_Fenster','STATE') ne "drive-up"
     1          ::InternalDoIf($hash,'ESPEasy_Rollade_1.OG_WZ_Fenster_oeffnen','STATE') eq "off"
   devices:
     0           ESPEasy_Rollade_1.OG_WZ_Fenster_oeffnen 1.OG_WZ_Fenster
     1           ESPEasy_Rollade_1.OG_WZ_Fenster_oeffnen
     all         ESPEasy_Rollade_1.OG_WZ_Fenster_oeffnen 1.OG_WZ_Fenster
   do:
     0:
       0          set 1.OG_WZ_Fenster extern open
     1:
       0          set 1.OG_WZ_Fenster extern stop
     2:
   helper:
     event      Rel: off
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   ESPEasy_Rollade_1.OG_WZ_Fenster_oeffnen
     timerevent Rel: off
     triggerDev ESPEasy_Rollade_1.OG_WZ_Fenster_oeffnen
     DOIF_eventas:
       cmd_nr: 2
       cmd: 2
       cmd_event: ESPEasy_Rollade_1.OG_WZ_Fenster_oeffnen
       state: cmd_2
     timerevents:
       Rel: off
     timereventsState:
       state: Rel: off
     triggerEvents:
       Rel: off
     triggerEventsState:
       state: Rel: off
   internals:
     0           ESPEasy_Rollade_1.OG_WZ_Fenster_oeffnen:STATE 1.OG_WZ_Fenster:STATE
     1           ESPEasy_Rollade_1.OG_WZ_Fenster_oeffnen:STATE
     all         ESPEasy_Rollade_1.OG_WZ_Fenster_oeffnen:STATE 1.OG_WZ_Fenster:STATE
   itimer:
   perlblock:
   readings:
   trigger:
   uiState:
   uiTable:
Attributes:
   room       1.OG Wohnzimmer



Internals:
   DEF        ([ESPEasy_Rollade_1.OG_WZ_Fenster_schliessen] eq "on" and [1.OG_WZ_Fenster] ne "drive-down") (set 1.OG_WZ_Fenster extern closed) DOELSEIF ([ESPEasy_Rollade_1.OG_WZ_Fenster_schliessen] eq "off") (set 1.OG_WZ_Fenster extern stop)
   FUUID      5c4cc90f-f33f-f169-96c1-397f47bc019c0533
   MODEL      FHEM
   NAME       rollo_1.OG_WZ_Fenster_manuell_schliessen
   NR         198
   NTFY_ORDER 50-rollo_1.OG_WZ_Fenster_manuell_schliessen
   STATE      cmd_2
   TYPE       DOIF
   READINGS:
     2019-01-27 13:43:48   Device          ESPEasy_Rollade_1.OG_WZ_Fenster_schliessen
     2019-01-27 13:18:21   cmd             2
     2019-01-27 13:18:21   cmd_event       ESPEasy_Rollade_1.OG_WZ_Fenster_schliessen
     2019-01-27 13:18:21   cmd_nr          2
     2019-01-27 13:18:20   e_1.OG_WZ_Fenster_STATE closed
     2019-01-27 13:43:48   e_ESPEasy_Rollade_1.OG_WZ_Fenster_schliessen_STATE off
     2018-12-06 18:17:44   mode            enabled
     2019-01-27 13:18:21   state           cmd_2
   Regex:
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0          ::InternalDoIf($hash,'ESPEasy_Rollade_1.OG_WZ_Fenster_schliessen','STATE') eq "on" and ::InternalDoIf($hash,'1.OG_WZ_Fenster','STATE') ne "drive-down"
     1          ::InternalDoIf($hash,'ESPEasy_Rollade_1.OG_WZ_Fenster_schliessen','STATE') eq "off"
   devices:
     0           ESPEasy_Rollade_1.OG_WZ_Fenster_schliessen 1.OG_WZ_Fenster
     1           ESPEasy_Rollade_1.OG_WZ_Fenster_schliessen
     all         ESPEasy_Rollade_1.OG_WZ_Fenster_schliessen 1.OG_WZ_Fenster
   do:
     0:
       0          set 1.OG_WZ_Fenster extern closed
     1:
       0          set 1.OG_WZ_Fenster extern stop
     2:
   helper:
     event      Rel: off
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   ESPEasy_Rollade_1.OG_WZ_Fenster_schliessen
     timerevent Rel: off
     triggerDev ESPEasy_Rollade_1.OG_WZ_Fenster_schliessen
     DOIF_eventas:
       cmd_nr: 2
       cmd: 2
       cmd_event: ESPEasy_Rollade_1.OG_WZ_Fenster_schliessen
       state: cmd_2
     timerevents:
       Rel: off
     timereventsState:
       state: Rel: off
     triggerEvents:
       Rel: off
     triggerEventsState:
       state: Rel: off
   internals:
     0           ESPEasy_Rollade_1.OG_WZ_Fenster_schliessen:STATE 1.OG_WZ_Fenster:STATE
     1           ESPEasy_Rollade_1.OG_WZ_Fenster_schliessen:STATE
     all         ESPEasy_Rollade_1.OG_WZ_Fenster_schliessen:STATE 1.OG_WZ_Fenster:STATE
   itimer:
   perlblock:
   readings:
   trigger:
   uiState:
   uiTable:
Attributes:
   room       1.OG Wohnzimmer



Ich habe bisher immer nur das eigentliche Logfile verwendet. Kann man da wie im Eventmonitor auch LOG-Files für einzelne Devices erstellen?

So dann bin ich mal gespannt was Ihr Profis zu dem Problem finden könnt.

Danke für Eure Hilfe

Gruß
Dieter68

KernSani

Hallo Dieter,
Ich schaue mir das heute Abend mal im Detail an. Was mir direkt auffällt: Im DOIF wird auch auf drive-up bzw. drive-down getriggert. Da müsste jeweils ein ? Davor (ist etwas weiter oben hier im Thread beschrieben und auch im Wiki angepasst).

Wenn du am ROLLO das Attribut verbose 5 serzt werden für dieses eine Device die verbose 5 Meldungen ins globale Log geschrieben.


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

grappa24

Zitat von: KernSani am 27 Januar 2019, 14:10:57
Was mir direkt auffällt: Im DOIF wird auch auf drive-up bzw. drive-down getriggert. Da müsste jeweils ein ? Davor (ist etwas weiter oben hier im Thread beschrieben und auch im Wiki angepasst).
Das kommt halt davon, weil fast zwei Jahre die fehlerhaften DOIFs im Wiki standen - gut dass Du das jetzt gefixt hast  ;)
FHEM 6.1, 2 x RasPi 3B+, Debian Buster; KNX, FS20, HM, HUE, Tradfri, Shellies, KLF200
Rollo-/Lichtsteuerung/-szenarien, T-Sensoren, Fensterkontakte, Heizungssteuerung, HEOS, Sprachsteuerung mit Alexa-FHEM, Netatmo, Nuki, ...

Frank_Huber

Wenn der Auslöser Als event triggert und nicht als Zustand spielt das eigentlich keine Rolle.

Gesendet von meinem Doogee S60 mit Tapatalk


Dieter68

Zitat von: grappa24 am 27 Januar 2019, 15:08:55
Das kommt halt davon, weil fast zwei Jahre die fehlerhaften DOIFs im Wiki standen - gut dass Du das jetzt gefixt hast  ;)

Hallo grappa24,

was hat es denn mit dem ? an der Stelle aufsich?

Gruß
Dieter68

Dieter68

Zitat von: Dieter68 am 27 Januar 2019, 16:37:52
Hallo grappa24,

was hat es denn mit dem ? an der Stelle aufsich?

Gruß
Dieter68

Hat sich erledigt - habe die Funktion gefunden.

Gruß
Dieter68

Dieter68

Ich habe an einem Fenster die DOIF Anweisungen mal mit dem Fragezeichen abgeändert - brachte aber leider keine Besserung.

Nur mal so als Zwischenmeldung ...

Gruß
Dieter68

CoolTux

Es fehlt der Aufschluss gebende Log 5 Auszug bei einem Schaltbefehl.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net