Neuauflage des Moduls 98_Siro.pm

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

Vorheriges Thema - Nächstes Thema

Byte09

Zitat von: waage am 21 Juli 2019, 13:56:08
Es geht! Es fährt in die richtige Position.
Hier noch der log:2019.07.21 13:47:12 5: Siro-progmode: reached progmode off
2019.07.21 13:48:21 5: Siro-progmode: reached progmode off
2019.07.21 13:48:25 5: Siro-progmode: reached progmode off
2019.07.21 13:48:47 5: Siro_attr: set, Siro_3F0A55F1, IODev, SIGNALduino
2019.07.21 13:48:47 5: Siro_attr init done : 1
2019.07.21 13:49:02 5: Siro-Set: eingehendes Kommando Favorite-Position
2019.07.21 13:49:02 5: Siro-Set: param - 46
2019.07.21 13:49:02 5: Siro-Set: ermittelter Befehl: favposition
2019.07.21 13:49:02 5: Siro-Set: cmd nach change : favposition
2019.07.21 13:49:02 5: Siro-Set: save favposition -> 46
2019.07.21 13:49:22 5: Siro-Set: eingehendes Kommando pct
2019.07.21 13:49:22 5: Siro-Set: param - 50
2019.07.21 13:49:22 5: Siro-Set: ermittelter Befehl: level
2019.07.21 13:49:22 5: Siro-Set: cmd nach change : level
2019.07.21 13:49:22 3: Siro-Set (Siro_3F0A55F1) : set Position 50
2019.07.21 13:49:22 5: Siro_sendCommand: repeats  - 10
2019.07.21 13:49:22 5: Siro_sendCommand: name-Siro_3F0A55F1 command-on  channel-1 bincmd-00110011 bin-0011111100001010010101011111000100110011 id-undef message-P72#0011111100001010010101011111000100110011#R10
2019.07.21 13:49:22 1: PERL WARNING: Argument "runningDown" isn't numeric in division (/) at (eval 6235) line 1.
2019.07.21 13:49:22 1: PERL WARNING: Argument "runningDown" isn't numeric in division (/) at (eval 6236) line 1.
2019.07.21 13:49:22 5: Siro-Set: setze timer -level
2019.07.21 13:49:22 5: Siro-Set: found direction - on
2019.07.21 13:49:22 5: Siro-Set: found finish - 50
2019.07.21 13:49:22 5: Siro-Set: found position now - 0
2019.07.21 13:49:22 1: PERL WARNING: Argument "runningDown" isn't numeric in division (/) at (eval 6243) line 1.
2019.07.21 13:49:22 1: PERL WARNING: Argument "runningDown" isn't numeric in division (/) at (eval 6244) line 1.
2019.07.21 13:49:23 0: ESPduino_Aussen Testversion siro_parse abgebrochen
2019.07.21 13:49:23 0: ESPduino_Aussen Testversion siro_parse abgebrochen
2019.07.21 13:49:32 5: Siro-Finish: action - position
2019.07.21 13:49:32 5: Siro_sendCommand: repeats  - 10
2019.07.21 13:49:32 5: Siro_sendCommand: name-Siro_3F0A55F1 command-stop  channel-1 bincmd-01010101 bin-0011111100001010010101011111000101010101 id-undef message-P72#0011111100001010010101011111000101010101#R10
2019.07.21 13:49:32 0: ESPduino_Aussen Testversion siro_parse abgebrochen
2019.07.21 13:49:32 0: ESPduino_Aussen Testversion siro_parse abgebrochen

##############################
Die letzten 2 Zeilen machen mich Stutzig der ESPduino ist mein zweiter Sender/Empfänger.
mfg.waage

ok, jetzt kommen wir der sache auf die spur. fhem sendet die nachricht per 1 signalduino an den rollo. der 2 signalduino empfängt es auch , leitet es weiter an das fhemdevice und dieses ' denkt ' es wäre ein FB Signal.

benötigst du beide signalduinos, um den bereich in dem die rollos sind abzudecken ?

gruss Byte09

waage

Für das Rollo brauche ich nur den Signalduino de ESP nutze ich vorwiegend für den Außenbereich (Steckdosen, Poolsteuerung...) wo der Signalduino nicht hinreicht. Ich nahm an wenn als IO-Dev der Signalduino angegeben ist spielt der ESP keine Rolle.
Da bin ich wohl der einzigste mit 2 Sender/Empfänger.
Wenn ich weiter Testen soll, mach ich gern.
gruss waage

Byte09

Zitat von: waage am 21 Juli 2019, 14:13:02
Für das Rollo brauche ich nur den Signalduino de ESP nutze ich vorwiegend für den Außenbereich (Steckdosen, Poolsteuerung...) wo der Signalduino nicht hinreicht. Ich nahm an wenn als IO-Dev der Signalduino angegeben ist spielt der ESP keine Rolle.
Da bin ich wohl der einzigste mit 2 Sender/Empfänger.
Wenn ich weiter Testen soll, mach ich gern.
gruss waage

nimm dann bitte aus dem nicht benötigten signalduino erstmal die Siro IDs aus der whitelist (72,72.1) , damit sollte das problem erstmal umgangen sein.

auf die 'normale' siroversion kommst du mit einem normalen fhemupdate . reload 98_Siro.pm nicht vergessen.

dann sollte es erstmal gehen.

um das problem wirklich abzustellen muss ich einige änderungen am modul vornehmen.habe da eine Idee, schaffe es aber wohl erst im laufe der woche.

gib mir doch bitte noch bescheid, ob es mit der notlösung geht. ich würde dann die tage mit der neuen version nochmal zum testen auf dich zu kommen.?!

gruss Byte09

waage

Die "Notlösung" funktioniert einwandfrei. Ich bedanke mich für Deine Mühe und wünsche Dir noch einen schönen Sonntag.
Ich werde selbstverständlich deine Änderungen am Modul testen.
mfg. waage

davidwohnthier

Seit dem Update bekomme ich mein homebridge Mapping meiner Gruppen-Devices nicht mehr hin :( Die Gruppen-Devices haben ja keine Positionsangaben.
Das unten zitierte Mapping funktioniert leider eben nur mit Einzel-Rollos, was in meinem Fall aber ungünstig ist, da in einem Raum zwei Rollos sind.
Kennt sich jemand mit dem Mapping besser aus? Ich bin da leider nicht so richtig drin.


Zitat von: volschin am 02 Juni 2019, 11:35:15
Am homebridgeMapping waren doch noch ein paar Feinjustierungen notwendig. Damit es die nächsten einfacher haben:
TargetPosition=position,cmd=position,cmds=100:on,invert=1,minValue=0,maxValue=100,minStep=1,delay=1000
CurrentPosition=state,cmd=position,invert=1,minValue=0,maxValue=100,minStep=1
PositionState=state,values=runningUp:INCREASING;runningDown:DECREASING,default=STOPPED


Wer eine Batterieanzeige in HomeKit haben will, muss sich ein userreading battery anlegen oder es über ein notify schreiben. Meins sieht folgendermaßen aus:
Rollo.*motor-term:.* {
my $ops = int($EVTPART1);
my $days = int(ReadingsVal($NAME,"days-since-reset",0));
my $kpi = $ops + ($days*1000);
if ($kpi > 50000) {fhem("set pushmsg msg 'Akku-Warnung Rollo' '$NAME ist auf $EVENT und $days Tagen (KPI: $kpi)';setreading $NAME battery low");}
else {fhem("setreading $NAME battery ok")}}


Byte09

ich für meinen teil muss da leider passen , ich habe bereits vor 2 Jahren beschlossen , mich mit Homebridgemapping auf keinen Fall mehr zu beschäftigen.
Die dahinterstehende Logik erschliesst sich mir schlicht nicht, das raubt mir den Nerv und dafür habe ich überhaupt keine Geduld.

gruss Byte09

volschin

Zitat von: davidwohnthier am 11 August 2019, 13:29:01
Seit dem Update bekomme ich mein homebridge Mapping meiner Gruppen-Devices nicht mehr hin :( Die Gruppen-Devices haben ja keine Positionsangaben.
Das unten zitierte Mapping funktioniert leider eben nur mit Einzel-Rollos, was in meinem Fall aber ungünstig ist, da in einem Raum zwei Rollos sind.
Kennt sich jemand mit dem Mapping besser aus? Ich bin da leider nicht so richtig drin.
Du kannst ja die Gruppieren-Funktion in der HomeKit App nutzen.


Gesendet von iPhone mit Tapatalk
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)

Matze89

Hallo an euch,

ich wollte mich für die Neuentwicklung mal ganz herzlich bedanken. Ich habe soeben mal reingeschaut und noch kleine Tipps von euch allen geholt. Gerne möchte ich euch auch mal meine aktuelle Konfiguration zur Verfügung stellen. Vielleicht ist da für den einen oder anderen was dabei.

Zum einen habe ich einen Trick, wie ich den aktuellen "Batteriestatus" in HomeKit integriert bekomme (unter userReadings). Anbei meine Konfiguration:

defmod Kueche_Rollo Siro A21B7C52
attr Kueche_Rollo IODev SIGNALduino
attr Kueche_Rollo SIRO_Battery_low 2534
attr Kueche_Rollo SIRO_inversPosition 0
attr Kueche_Rollo SIRO_signalLongStopRepeats 15
attr Kueche_Rollo SIRO_signalRepeats 4
attr Kueche_Rollo SIRO_time_to_close 14
attr Kueche_Rollo SIRO_time_to_open 14
attr Kueche_Rollo alexaName rollladen
attr Kueche_Rollo alexaRoom küche
attr Kueche_Rollo alias Rolladen Küche
attr Kueche_Rollo cmdIcon on:control_centr_arrow_down off:control_centr_arrow_up
attr Kueche_Rollo devStateIcon {return FHEM::Siro::Siro_icon($name)}
attr Kueche_Rollo genericDeviceType blind
attr Kueche_Rollo group Rolladen
attr Kueche_Rollo homebridgeMapping TargetPosition=position,cmd=position,cmds=100:on,invert=1,minValue=0,maxValue=100,minStep=1,delay=1000\
CurrentPosition=state,cmd=position,invert=1,minValue=0,maxValue=100,minStep=1\
PositionState=state,values=runningUp:INCREASING;;runningDown:DECREASING,default=STOPPED\
BatteryService#StatusLowBattery=batteryState,values=ok:0;;/^.*/:1\
BatteryService#BatteryLevel=batteryPercent,maxValue=100,minValue=0,minStep=1\
BatteryService#ChargingState:default=2
attr Kueche_Rollo icon fts_shutter_100
attr Kueche_Rollo room Home,HomeKit
attr Kueche_Rollo siriName Rolladen-K
attr Kueche_Rollo userReadings batteryPercent {100-((ReadingsVal("Kueche_Rollo","motor-term",0))/(AttrVal("Kueche_Rollo","SIRO_Battery_low",0))*100)}
attr Kueche_Rollo webCmd pct:on:off

setstate Kueche_Rollo 100
setstate Kueche_Rollo 2019-09-14 21:25:07 ActionTime 1568489107
setstate Kueche_Rollo 2019-09-14 21:25:07 ActionTrigger fhem
setstate Kueche_Rollo 2019-09-14 21:25:07 BetweentActionTime 18
setstate Kueche_Rollo 2019-09-14 21:25:07 LastAction on
setstate Kueche_Rollo 2019-09-14 21:25:07 LastActionTime 1568489089
setstate Kueche_Rollo 2019-09-14 21:25:21 aktActionFinish 0
setstate Kueche_Rollo 2019-09-14 21:25:21 aktEndAction 0
setstate Kueche_Rollo 2019-09-14 21:25:21 aktRunningAction noAction
setstate Kueche_Rollo 2019-09-14 21:25:21 aktTimeAction 0
setstate Kueche_Rollo 2019-09-14 21:25:21 batteryPercent 61.0568271462336
setstate Kueche_Rollo 2019-09-14 21:25:07 batteryState ok
setstate Kueche_Rollo 2019-09-14 21:25:21 motor-term 986.820000114441
setstate Kueche_Rollo 2019-09-14 21:25:21 pct 100
setstate Kueche_Rollo 2019-09-14 21:25:21 position 100
setstate Kueche_Rollo 2019-09-14 21:25:21 state 100


Gruß Matthias
FHEM mit RPi4 ::: SIGNALduino ::: Homebridge + homebridge-fhem ::: Zigbee = RaspBee + Hue + Paulmann + Ikea + Xiaomi ::: DECT = FritzBox 6590 + FRITZ!DECT ::: IR = Harmony ::: SIRO Akku-Rolloantrieb ::: EchoDots + alexa-fhem

davidwohnthier

Hallo Leute!

Da das HomebridgeMapping ja nicht mehr für das Gruppen-Device funktioniert hat, habe ich mich die Tage mal dran gesetzt und eine Lösung dafür gefunden. Es muss ein neues userreading erstellt werden.

## Das ganze gilt nur für das Gruppen-Device ##
Das UserReading lautet wie folgt:

position {(ReadingsVal($NAME,"state","open") eq "close")?100:(ReadingsVal($NAME,"state","open") eq "close")?100:0}

Dann im homebridgeMapping folgendes angeben:

TargetPosition=position,invert=1,minValue=0,maxValue=100,cmd=pct,cmds=0:open;100:close,delay=1000
CurrentPosition=position,cmd=pct,invert=1,minValue=0,maxValue=100,minStep=1
PositionState=postion,values=100:INCREASING;0:DECREASING,default=STOPPED


Dadurch sollten Gruppendevices wieder richtig funktionieren. Dieses ganze homebridgeMapping kann einen schon mal bekloppt machen...

Byte09

Zitat von: davidwohnthier am 15 September 2019, 13:28:35
Hallo Leute!

Da das HomebridgeMapping ja nicht mehr für das Gruppen-Device funktioniert hat, habe ich mich die Tage mal dran gesetzt und eine Lösung dafür gefunden. Es muss ein neues userreading erstellt werden.

## Das ganze gilt nur für das Gruppen-Device ##
Das UserReading lautet wie folgt:

position {(ReadingsVal($NAME,"state","open") eq "close")?100:(ReadingsVal($NAME,"state","open") eq "close")?100:0}

Dann im homebridgeMapping folgendes angeben:

TargetPosition=position,invert=1,minValue=0,maxValue=100,cmd=pct,cmds=0:open;100:close,delay=1000
CurrentPosition=position,cmd=pct,invert=1,minValue=0,maxValue=100,minStep=1
PositionState=postion,values=100:INCREASING;0:DECREASING,default=STOPPED


Dadurch sollten Gruppendevices wieder richtig funktionieren. Dieses ganze homebridgeMapping kann einen schon mal bekloppt machen...
Wenn ihr mir sagt was genau benötigt wird für entsprechende Darstellung integrierte ich es in das Modul.... solange ich mich keine Sekunde mit hbmapping beschäftigen muss [emoji12]

gruss thomas

Gesendet von meinem ELE-L29 mit Tapatalk


Matze89

Hallo,
von meiner Seite her ist es auch für Homebridge für jeweils Alexa und Homekit perfekt.
Ich hätte kosmetisch vielleicht noch die ungefähre % Angabe der Akkuleistung. Aktuell habe ich es über Userreading eingebunden:
attr Kueche_Rollo userReadings batteryPercent {100-((ReadingsVal("Kueche_Rollo","motor-term",0))/(AttrVal("Kueche_Rollo","SIRO_Battery_low",0))*100)}

Gruß Matthias

PS: eigentlich benötigst du dich nicht all zu viel über die Smarthome Integrationen Kopf zu machen. Wir holen uns schon das, was wir brauchen ;-)
FHEM mit RPi4 ::: SIGNALduino ::: Homebridge + homebridge-fhem ::: Zigbee = RaspBee + Hue + Paulmann + Ikea + Xiaomi ::: DECT = FritzBox 6590 + FRITZ!DECT ::: IR = Harmony ::: SIRO Akku-Rolloantrieb ::: EchoDots + alexa-fhem

ShawnSteinfeger

Hallo, ich hatte die Tage nach ca. einem Jahr Pause mal wieder an FHEM einiges optimiert und geupdatet.
Mit erschrecken musste ich feststellen, das meine ERB15LE  Rollos nicht mehr richtig funktionieren, da das Modul komplett neu geschrieben wurde.
Ich habe mich durch die ganzen Posts hier gewühlt, und musste feststellen, dass ich meine Rollos alle neu anlernen muss.

Soweit so gut, der Programmiermodus gefällt mir sehr gut.

Allerdings benötige ich zum einstellen der Endlagen einen "Long Stop" Befehl  (früher prog_stop).
Wie löse ich den aus? (Keine Fernbedienung vorhanden)
Im Programmiermodus ist dafür kein Schalter vorhanden, oder übersehe ich was.?


LG Maik

Byte09

#267
Zitat von: ShawnSteinfeger am 17 Dezember 2019, 12:19:59
Hallo, ich hatte die Tage nach ca. einem Jahr Pause mal wieder an FHEM einiges optimiert und geupdatet.
Mit erschrecken musste ich feststellen, das meine ERB15LE  Rollos nicht mehr richtig funktionieren, da das Modul komplett neu geschrieben wurde.
Ich habe mich durch die ganzen Posts hier gewühlt, und musste feststellen, dass ich meine Rollos alle neu anlernen muss.

Soweit so gut, der Programmiermodus gefällt mir sehr gut.

Allerdings benötige ich zum einstellen der Endlagen einen "Long Stop" Befehl  (früher prog_stop).
Wie löse ich den aus? (Keine Fernbedienung vorhanden)
Im Programmiermodus ist dafür kein Schalter vorhanden, oder übersehe ich was.?


LG Maik

Hi Maik,

im Grunde sollte es mit dem angebotenen Stop Button gehen. Dieser sendet im Programmiermode eigentlich automatisch ein Longstop . Alternativ sollte es auch helfen den Button einfach zweimal zu drücken.

Auf welchem Wert steht das Attribut 'SIRO_signalLongStopRepeats' ?

Dieses muss bei einigen Modellen etwas höher eingestellt sein , da hilft aber nur 'Versuch macht Klug'.

Unabhängig davon werde ich die Buttons trennen , so dass seperate Buttons für 'stop' und 'longstop' zur Verfügung stehen. Das werde ich aber wohl erst morgen bzw. übermorgen schaffen.


ZitatIch habe mich durch die ganzen Posts hier gewühlt, und musste feststellen, dass ich meine Rollos alle neu anlernen muss
... woher stammt diese Info ? Ein neues anlernen ist eigentlich nicht nötig . ( Es gab eine Zwischenversion , die Notwendige Änderungen aut. vorgenommen hat. Ich muss mal schauen ob ich diese noch habe.

Gruss Byte09

edit: Mit morgigem Update habe ich seperate Buttons eingefügt .

ShawnSteinfeger

#268
Vielen Dank für die Info, allerdings konnte ich mit dem Stop im Programmiermodus die Endlage nicht bestätigen. (keinerlei Rückmeldung vom Motor)
Ich hatte bereits im Voraus das Attribut 'SIRO_signalLongStopRepeats' auf 45 gesetzt, jetzt eben auch nochmal mit 50 versucht, aber kein Erfolg.

Ich finde es auch besser da 2 getrennte Schalter zur Programmierung zu haben. Da warte ich auf das Update morgen und versuche es nochmal.
Vielen Dank schon mal für die schnelle Implementierung.

Zitat
  ... woher stammt diese Info ? Ein neues anlernen ist eigentlich nicht nötig . ( Es gab eine Zwischenversion , die Notwendige Änderungen aut. vorgenommen hat. Ich muss mal schauen ob ich diese noch habe.

Ich musste neu anlernen, da sich das Rollo nur ca.4 sec in eine Richtung bewegte und dann stoppte.
Das war mit der alten, sowie neu angelegten Konfiguration gleich.
Ein User hier im Forum hatte das gleiche Problem und schreib das es nur mit neuem Einlernen wieder funktionierte.
Scheint wohl ein Problem der 15er Serie zu sein, meine Rollos der 16er Serie waren davon nicht betroffen.

ShawnSteinfeger

Mit dem heutigen Update ließ sich alles wunderbar programmieren.
Alle Rollos funktionieren wieder wie vorgesehen.

Besten Dank noch mal.

Gruß Maik