Neuauflage des Moduls 98_Siro.pm

Begonnen von Byte09, 17 Mai 2019, 06:06:34

Vorheriges Thema - Nächstes Thema

Byte09

#165
Zitat von: Byte09 am 06 Juni 2019, 20:16:17
ich habe heiute ein wenig gespielt und mir ist aufgefallen, das es doch schon zeitdifferenzen giebt, wnn das rollo mit der fernbedienung gefahren wird. das führt dazu , das bei mehreren fahrten , die nicht bis zu einer endposition gehen sich diese differenzen aufaddieren und der angezeigte stand des rollos in prozent doch nach und nach erheblich vom wirklichen stand abweicht ( ich habe ein rollo von 2,7 m länge - da macht sich das schon bemerkbar )

bei mir dauert es teilweise 1-2 sekunden , die das rollo bereits fährt, bis das device in fhem es mitbekommt . dieses ist wohl bedingt durch die programmlaufzeiten signalduino -> siro etc.

ist das noch jemandem aufgefallen und meint ihr es macht sinn , hier einen (einstellbaren) korrekturfaktor einzubauen , der bei FB fahrten greift ?

gruss thomas

ich habe eben das attribut 'SIRO_remote_correction' eingebaut. dieses kann derzeit in 0.5 schritten bis 3 sekunden gesetzt werden. Bei mmir dauert es ca. 1 sekunde, bis das device mitbekommt, das die fernbedienung gesendet hat . Habe es bei mir somit auf 1 sekunde gesetzt und damit passt es denke ich ganz gut.

Funktion: bei jeder laufenden aktion , die von der Fernbedienung gestartet wurde und von fhem gestoppt oder unterbrochen wurde  ( oder umgekehrt ), wird bei berechnung des aktuellen standes diese Zeit berücksichtigt.

erfolgt die Unterbrechung vom startenden 'trigger'  ( also remote-remote oder fhem-fhem), bleibt diese Zeit unberücksichtigt, da das unterbrechende Kommando ja ebenfalls dieser Verzögerung unterliegt.

ist ab morgen im SVN

gruss Thomas

volschin

Leider ist das bei mir nicht deterministisch und hängt davon ab, was FHEM gerade so noch verarbeitet.
Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

Byte09

#167
Zitat von: volschin am 07 Juni 2019, 15:34:32
Leider ist das bei mir nicht deterministisch und hängt davon ab, was FHEM gerade so noch verarbeitet.

ja, ist letztendlich ja klar, aber eine für mich nun vertretbare annäherung. Und bei der nächsten 100 oder 0 prozent fahrt regelt es sich ja wieder bei.

um das genauer hinzubekommen müsste ein kaum zu vertretender aufwand betrieben werden , der nicht nur das siromodul betrifft. z.b müsste Signalduiono einen konkreten Zeitstempel mitgeben , wann das signal empfangen wurde ( unix ) und es müsste gewährleistet sein das die zeiten syncron sind und und und ..... .

zum schluss wird es immer ein berechneter näherungswert sein , ich wollte halt nur versuchen es so genau wie machbar abzubilden.

gruss thomas

volschin

Sollte auch keine Kritik an deiner Lösungsnäherung sein. Danke. [emoji3]
Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

Byte09

Zitat von: volschin am 07 Juni 2019, 15:48:39
Sollte auch keine Kritik an deiner Lösungsnäherung sein. Danke. [emoji3]

hatte ich auch keinesfalls als solche verstanden  ;)

gruss thomas

Pancake

Hallo,

sry ein bißchen spät ???
Hier das Listing (list Rollo_Kueche_O)

Internals:
   CHANNEL_RECEIVE 1
   DEF        D743A241
   FUUID      5cca1376-f33f-229c-d593-db8545cfa34014b1
   ID         D743A24
   IODev      mySignalduino
   LASTInputDev mySignalduino
   MODEL      LE-serie
   MSGCNT     4
   NAME       Rollo_Kueche_O
   NR         123
   NTFY_ORDER 50-Rollo_Kueche_O
   STATE      0
   TYPE       Siro
   Version    1.0
   mySignalduino_DMSG P72#D743A24110
   mySignalduino_MSGCNT 8
   mySignalduino_RAWMSG MU;P0=-3224;P1=326;P2=-402;P3=-772;P4=701;P5=-10929;P6=4785;P7=-1564;D=01213131313424242134213131342131342131313131342131313421313134567424213421342424213421313131342424213421313134213134213131313134213131342131313456742421342134242421342131313134242421342131313421313421313131313421313134213131345674242134213424242134213131;CP=1;R=38;O;
   mySignalduino_RSSI -55
   mySignalduino_TIME 2019-06-07 05:24:07
   CODE:
     1          D743A241
   READINGS:
     2019-06-07 05:24:07   ActionTime      1559877847
     2019-06-07 05:24:07   BetweentActionTime 30353
     2019-06-07 05:24:07   LastAction      off
     2019-06-07 05:24:07   LastActionTime  1559847494
     2019-06-07 05:24:07   aktActionFinish 0
     2019-06-07 05:24:07   aktEndAction    0
     2019-06-07 05:24:07   aktRunningAction noAction
     2019-06-07 05:24:07   aktTimeAction   0
     2019-06-07 05:24:07   batteryState    unknown
     2019-06-07 05:24:07   motor-term      0
     2019-06-07 05:24:07   pct             0
     2019-06-07 05:24:07   position        0
     2019-06-07 05:24:07   state           0
   helper:
     exexcmd    off
     ignorecmd  off
     lastparse  P72#D743A24110 1559877847.41857
     parse_aborted 0
     progmode   off
Attributes:
   IODev      mySignalduino
   SIRO_inversPosition 0
   SIRO_signalLongStopRepeats 15
   SIRO_signalRepeats 8
   debug_mode 0
   devStateIcon {if (ReadingsVal( $name, 'state', 'undef' ) =~ m/[a-z]/ ) { return 'programming:edit_settings notAvaible:hue_room_garage runningUp.*:fts_shutter_up runningDown.*:fts_shutter_down'}else{return '[0-9]{1,3}:fts_shutter_1w_'.(int($state/10)*10)}}
   event-min-interval .*:300
   event-on-change-reading .*
   room       Siro
   verbose    0
   webCmd     stop:open:close:fav:pct

Byte09

Zitat von: Pancake am 07 Juni 2019, 17:58:22
Hallo,

sry ein bißchen spät ???
Hier das Listing (list Rollo_Kueche_O)

Internals:
   CHANNEL_RECEIVE 1
   DEF        D743A241
   FUUID      5cca1376-f33f-229c-d593-db8545cfa34014b1
   ID         D743A24
   IODev      mySignalduino
   LASTInputDev mySignalduino
   MODEL      LE-serie
   MSGCNT     4
   NAME       Rollo_Kueche_O
   NR         123
   NTFY_ORDER 50-Rollo_Kueche_O
   STATE      0
   TYPE       Siro
   Version    1.0
   mySignalduino_DMSG P72#D743A24110
   mySignalduino_MSGCNT 8
   mySignalduino_RAWMSG MU;P0=-3224;P1=326;P2=-402;P3=-772;P4=701;P5=-10929;P6=4785;P7=-1564;D=01213131313424242134213131342131342131313131342131313421313134567424213421342424213421313131342424213421313134213134213131313134213131342131313456742421342134242421342131313134242421342131313421313421313131313421313134213131345674242134213424242134213131;CP=1;R=38;O;
   mySignalduino_RSSI -55
   mySignalduino_TIME 2019-06-07 05:24:07
   CODE:
     1          D743A241
   READINGS:
     2019-06-07 05:24:07   ActionTime      1559877847
     2019-06-07 05:24:07   BetweentActionTime 30353
     2019-06-07 05:24:07   LastAction      off
     2019-06-07 05:24:07   LastActionTime  1559847494
     2019-06-07 05:24:07   aktActionFinish 0
     2019-06-07 05:24:07   aktEndAction    0
     2019-06-07 05:24:07   aktRunningAction noAction
     2019-06-07 05:24:07   aktTimeAction   0
     2019-06-07 05:24:07   batteryState    unknown
     2019-06-07 05:24:07   motor-term      0
     2019-06-07 05:24:07   pct             0
     2019-06-07 05:24:07   position        0
     2019-06-07 05:24:07   state           0
   helper:
     exexcmd    off
     ignorecmd  off
     lastparse  P72#D743A24110 1559877847.41857
     parse_aborted 0
     progmode   off
Attributes:
   IODev      mySignalduino
   SIRO_inversPosition 0
   SIRO_signalLongStopRepeats 15
   SIRO_signalRepeats 8
   debug_mode 0
   devStateIcon {if (ReadingsVal( $name, 'state', 'undef' ) =~ m/[a-z]/ ) { return 'programming:edit_settings notAvaible:hue_room_garage runningUp.*:fts_shutter_up runningDown.*:fts_shutter_down'}else{return '[0-9]{1,3}:fts_shutter_1w_'.(int($state/10)*10)}}
   event-min-interval .*:300
   event-on-change-reading .*
   room       Siro
   verbose    0
   webCmd     stop:open:close:fav:pct


auffällig ist hier ein eintrag im hash helper
helper:
     exexcmd    off


leider weiss ich nicht, wie du es hinbekommen hast , das exexcmd auf off steht. Eine Aktion im Device kann und darf eigentlich nicht beendet werden , mit diesem status 'off' . Ich kann mir das im moment nicht erklären .

Fakt ist aber, das dieser Status die ausführung eines kommandos verhindert.

dieser status kann nur unter 2 bedingungen gesetzt werden :
- bei einer favoritananfahrt per fhem - kann bei dir nicht sein , da entsprechend benötigte readings nicht definiert sind und eine favoritananfahrt mit logeintag abgelehnt wird ( ist aber im log nicht zu finden )

- bei einem eingehenden signal der fernbedienung , müsste aber auch im log zu sehen sein.

kurz : ich habe im moment keine ahnung , was schief läuft bei dir. Da aber noch keine attribute etc. gesetzt sind schlage ich in diesem Fall die harte Version vor. Lösche dieses Device bitte und lege es mal neu an.

define Rollo_Kueche_O Siro D743A241

wenn es dann noch die gleichen probleme gibt schaue ich weiter danach , aber es ist ggf. effektiver als hier weiter im dunkeln rumzustochern ( zumal es scheinbar ein einzelfall ist - hoffe ich zumindest )

gruss thomas


Pancake

Hallo,

habe das Device gelöscht und neu angelegt.
Hier das neue Listing

Internals:
   CFGFN     
   CHANNEL_RECEIVE 1
   DEF        D743A241
   FUUID      5cfaa99e-f33f-229c-127d-ee09f3bd0ec7de27
   ID         D743A24
   IODev      mySignalduino
   LASTInputDev mySignalduino
   MODEL      LE-serie
   MSGCNT     2
   NAME       Rollo_Kueche_O
   NR         154
   NTFY_ORDER 50-Siro_D743A241
   STATE      0
   TYPE       Siro
   Version    1.0
   mySignalduino_DMSG P72#D743A24154
   mySignalduino_MSGCNT 6
   mySignalduino_RAWMSG MU;P0=680;P1=-426;P2=320;P3=-770;P4=-10720;P5=4800;P6=-1552;D=012301232323230101012301232323012323012323232323012301230123012304560101230123010101230123232323010101230123232301232301232323232301230123012301230;CP=2;R=27;
   mySignalduino_RSSI -60.5
   mySignalduino_TIME 2019-06-07 20:14:59
   CODE:
     1          D743A241
   READINGS:
     2019-06-07 20:17:04   ActionTime      1559931424
     2019-06-07 20:17:04   BetweentActionTime 35
     2019-06-07 20:17:04   LastAction      off
     2019-06-07 20:17:04   LastActionTime  1559931389
     2019-06-07 20:17:04   aktActionFinish 0
     2019-06-07 20:17:04   aktEndAction    0
     2019-06-07 20:17:04   aktRunningAction noAction
     2019-06-07 20:17:04   aktTimeAction   0
     2019-06-07 20:17:04   batteryState    unknown
     2019-06-07 20:17:04   motor-term      0
     2019-06-07 20:17:04   pct             0
     2019-06-07 20:17:04   position        0
     2019-06-07 20:17:04   state           0
   helper:
     exexcmd    on
     ignorecmd  off
     lastparse  P72#D743A24110 1559931295.79346
     lastparse_stop stop 1559931299.15424
     parse_aborted 0
     progmode   off
Attributes:
   IODev      mySignalduino
   devStateIcon {return FHEM::Siro::Siro_icon($name)}
   event-min-interval .*:300
   event-on-change-reading .*
   room       Siro
   webCmd     stop:open:close:fav:pct


Bisher wurde von den Rolloantrieben nur die Funktionen "set Down" und "set up" genutzt.
Mit irgendwelchen Zwischenstoppfunktion etc. wurde noch nichts versucht.

MfG

Byte09

Zitat von: münster am 03 Juni 2019, 10:36:11
Hallo,

ich habe heute das Siro-Modul aktualisiert. Nun gibt es für mich da ein "grosses" Problem. Eins von meinen Rollos ist defekt. Ich hatte es mit "disable 1" deaktiviert. So konnte ich über den Kanal 0 weiterhin alle anderen Rollos bedienen. Mit dem neuen Modul fährt mein defektes Rollo aber trotzdem. Ich kann es nur nicht mehr alleine steuern. Dafür muss ich es erst wieder aktivieren und dann verfahren. Es soll ja aber gar nicht mehr mitfahren, wenn ich die anderen global ansteuere.
Und ich kann über den Kanal 0 nicht mehr die Favoriten-Position anfahren.

Der Grund, warum ich aktualisiert hatte, war, dass ich immer solche Meldungen im Log hatte:

PERL WARNING: Use of uninitialized value in string eq at ./FHEM/98_Siro.pm line 683.

Leider gibt es die immernoch. Ist das schlimm?

Gruss münster

Hi Münster,

ich habe es heute endlich mal geschafft, die Guppenfahrten ( definiertes device mit Kanal 0 ) anzugehen. D.H in der nächsten Version wird dieses wieder komplett integriert sein.

gruss Byte09

CoolTux

Guten Morgen Thomas,

Kurze Frage. Hälst Du das GitHub Repo noch aktuell? Ich glaube da liegt noch eine ältere Version. Frage nur da ich mir von dort immer die Version hole.


Grüße
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

Byte09

Zitat von: CoolTux am 10 Juni 2019, 08:35:51
Guten Morgen Thomas,

Kurze Frage. Hälst Du das GitHub Repo noch aktuell? Ich glaube da liegt noch eine ältere Version. Frage nur da ich mir von dort immer die Version hole.


Grüße

nein , nicht wirklich . Wenn ich das jetzt weiss werde ich die Version ab sofort auch aktuell halten , bzw dort auch immer die lauffähigen testversionen einspielen . Ich fange sofort damit an  ;) .

gruss thomas

CoolTux

Zitat von: Byte09 am 10 Juni 2019, 08:38:35
nein , nicht wirklich . Wenn ich das jetzt weiss werde ich die Version ab sofort auch aktuell halten , bzw dort auch immer die lauffähigen testversionen einspielen . Ich fange sofort damit an  ;) .

gruss thomas

Hallo Thomas,

Nur wegen mir musst Du das nicht machen wenn es zu viel Aufwand ist. Ansonsten freue ich mich aber sollte es klappen.
Hab einen ruhigen Pfingstfeiertag.


Grüße
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

Byte09

Zitat von: CoolTux am 10 Juni 2019, 08:41:29
Hallo Thomas,

Nur wegen mir musst Du das nicht machen wenn es zu viel Aufwand ist. Ansonsten freue ich mich aber sollte es klappen.
Hab einen ruhigen Pfingstfeiertag.


Grüße

ist ja kein Ding. Habe die Version gerade aktualisiert . (da ist jetzt allerdings kanal 0 nur teilweise integriert)

gruss thomas

CoolTux

Zitat von: Byte09 am 10 Juni 2019, 08:42:49
ist ja kein Ding. Habe die Version gerade aktualisiert . (da ist jetzt allerdings kanal 0 nur teilweise integriert)

gruss thomas

Das stört mich nicht.
Danke Dir.
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

chbardel

Hi Zusammen,

ich habe mich etwas durch diesen neuen Thread und den alten gewühlt, habe aber nicht die Information gefunden, welche ich suche. Und zwar geht es mir darum, ob auch das neue Modell ERBS15-LE mit dem neuen Bi-Direktionalen Funkprotokoll von dem Modul unterstützt wird. Bei dem Modell kann man ja auch dem Rollo in % genau sagen welche Position er anfahren soll. Dann braucht man da nicht mit Timern arbeiten.

Außerdem würde mich interessieren, ob jemand Erfahrung mit dem offiziellen Gateway hat und schon die Kommunikation zur App reverse engineered hat. Wäre ja eventuell auch eine Variante einfach das Gateway anzusprechen, wenn man die entsprechende Kommunikation kennt. Das Gateway kann zwar IFTTT, aber das funktioniert ja bekanntermaßen nicht immer verzögerungsfrei und zuverlässig.