HM-LC-Bl1-FM mit AskSinPP und STM32F103

Begonnen von Funsailor, 05 Juni 2019, 12:00:46

Vorheriges Thema - Nächstes Thema

Funsailor

Hallo Papa,
die meisten original Homematic Device können nur mit Taster benutzt werden da bei Dauerdruck der Pairing Modus aktiviert wird. Für mein Anwendungsfall mit den Schaltern wäre das unbrauchbar.
Das wollte ich im Vorfeld abklären.

Ich wollte das auch nicht mit dem auf meinem produktive System testen, da ich dieses (nach dem abrauchen der SSD) vor dem letztem Urlaub auf Vordermann gebracht habe.
Und das Testsystem wartet noch auf  die Fertigstellung.
Da hatten die letzten Wochen andere Arbeiten im Haus prio. Ist auch schon 30 Jahre und besteht auf ein bisschen Pflege .... Die Installationen (Wasser/Heizung/Strom) sind fast alle noch original und im Moment ist da echt der Wurm drin.
- Asus PN 41- mapleCul V1.24.01 - FHEMDuino - FHEM 6.2 - HUE Bridge - ESPEasy Bridge -  Milight HUB - smartVISU 3.40 -

Funsailor

#16
Hallo,
der dreifach Rollladenaktor wird als einfach Rollladenaktor erkannt und in FHEM eingetragen.
Um die Funktion der Schalter zu testen reicht das aus. Lasse ich den Schalter in einer Stellung wird das zwar erkannt aber es erfolgt keine Aktion, erst beim loslassen des Schalters wird der Rollladen verfahren.
Im Monitor sehe ich das:
23:52:15.760 -> jumpToTarget: 5 9
23:52:15.760 -> setDestLevel: 0
23:52:15.760 -> Switch from 05 to 04
23:52:15.760 -> Switch from 04 to 05
23:52:16.182 ->  longpressed
23:52:16.182 -> -> 0B 52 02 40 6033AF 6033AF 41 09  - 1511195
23:52:16.182 -> jumpToTarget: 5 9
23:52:16.182 -> setDestLevel: 0
23:52:16.182 -> Switch from 05 to 04
23:52:16.182 -> Switch from 04 to 05
23:52:16.552 ->  longpressed
23:52:16.552 -> -> 0B 53 02 40 6033AF 6033AF 41 09  - 1511595
23:52:16.552 -> jumpToTarget: 5 9
23:52:16.552 -> setDestLevel: 0
23:52:16.552 -> Switch from 05 to 04
23:52:16.552 -> Switch from 04 to 05
23:52:16.974 ->  longpressed
23:52:16.974 -> -> 0B 54 02 40 6033AF 6033AF 41 09  - 1511995
23:52:16.974 -> jumpToTarget: 5 9
23:52:16.974 -> setDestLevel: 0
23:52:16.974 -> Switch from 05 to 04
23:52:16.974 -> Switch from 04 to 05
23:52:17.338 ->  longpressed
23:52:17.338 -> -> 0B 55 02 40 6033AF 6033AF 41 09  - 1512395
23:52:17.384 -> jumpToTarget: 5 9
23:52:17.384 -> setDestLevel: 0
23:52:17.384 -> Switch from 05 to 04
23:52:17.384 -> Switch from 04 to 05
23:52:17.478 ->  longreleased


Gibt es eine Möglichkeit das der Rolladen dann bis zum Endanschlag fährt?

Wo besorge ich mir die Device Model Nummer für ein eigenes Device?
Die zugehörigen XML Beschreibung muss ich dann auch noch anpassen. ???

Edit:
Die Schaltern muss ich dann so machen wie jp112sdl im Beispiel:
https://github.com/jp112sdl/Beispiel_AskSinPP/blob/master/examples/HM-SCI-3-FM/HM-SCI-3-FM.ino

Als ersten Schritt habe ich den Sketch HM-SCI-3-FM auf den STM32 angepasst (ohne LowPower da ich kein Batterie System habe)
Der läuft schon mal durch. Da ich mal wieder auf Achse bin, kann ich das leider erst am Montag in FHEM testen.

Der nächste Schritt wird die Implemetierung der Schalter in den HM-LC-BL3-FM Sketch sein....

Wo ich im Moment keinen Fahrplan habe ist bei der FHEM Anpassung.
Ich habe mal gelesen das Papa auf einen Thread verwiesen hat wie die PL Datei anzupassen ist, ich finde den aber nicht mehr. Wahrscheinlich benutze ich die falschen Suchparameter...
Kann mir da bitte jemand auf die Sprünge helfen?



- Asus PN 41- mapleCul V1.24.01 - FHEMDuino - FHEM 6.2 - HUE Bridge - ESPEasy Bridge -  Milight HUB - smartVISU 3.40 -

papa

Mach doch erst mal die Schalter mit einem Kanal - dann sehen wir weiter.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

Funsailor

#18
Hallo Papa,
wie kann ich die Schalterstellung (open/closed) im HM-SCI-3-FM auslesen? Den HM-SCI-3-FM Sketch läuft bei mir, ich sehe in FHEM auch die Open/Closed Messages, und suche nun die richtige Funktion um die Schalterstellung im Sketch auszulesen.
Als erstes wollte ich mir die Schalter Stellung über den Monitor ausgeben, die wird ja später benötigt...

Ich habe zwar in der Klasse ThreeStateGenericChannel die Funktion readPin gesehe, aber ich komme da nicht an die Funktion ran....
- Asus PN 41- mapleCul V1.24.01 - FHEMDuino - FHEM 6.2 - HUE Bridge - ESPEasy Bridge -  Milight HUB - smartVISU 3.40 -

papa

ThreeStateChannel::status() gibt den aktuellen Status zurück.
Der Status ergibt sich aus den Zuständen der 2 Pins und wird aus der posmap[PIN2<<1 | PIN1] ausgelesen.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

Funsailor

Hallo Papa,
ich wollte nur einen kurzen Zwischenstatus abgeben.

Hiermit bekomme ich die Zustände meiner Schalter:

PinStatePA2 = sdev.channel(1).status();    //(PA2)
PinStatePA2 = sdev.channel(2).status();    //(PA3)

Danke für den Hinweis.

Zitat
Werden  die Eingänge statisch abgefragt oder wieder mit den EXTI Interrupts?
Ich Frage wegen der Eigenschaft der STM32 Controller. Diese lassen ja nur einen EXTI Interrupt pro Pinnummer zu.
Für Mitleser die die STM32 Controller nicht so genau kennen:
Es gibt nur einen EXTI0 Interrupt der auf die Px0 Pins (PA0 PB0 PC0 PD0 PE0 PF0 PG0) wirkt.
Man kann also nur einen der aufgelisteten PinPorts als Eingänge benutzen.

Melde mich nach dem Urlaub wieder
- Asus PN 41- mapleCul V1.24.01 - FHEMDuino - FHEM 6.2 - HUE Bridge - ESPEasy Bridge -  Milight HUB - smartVISU 3.40 -

Funsailor

#21
Hallo Papa,
ich muss gestehen, das ich jetzt nicht so recht weiterkomme... Ich habe versucht die "ThreeStateChannel" (aus dem Sketch HM-LC-Bl3-FM-SCI) in den HM-LC-BL1-FM Sketch einzubauen.... Ist eigentlich nur ein Versuch ohne zu wissen wo ich genau ansetzen muss.. :-[

Ich habe mal meinen Versuch (den mit den wenigsten Fehler) angehängt...  :-\

Eigentlich wollte ich schon verstehen was ich mache, aber da habe ich noch viel Arbeit vor mir.
Kannst du mal darüber sehen ohne gleich in Ohnmacht zu fallen ... ich bin da im Moment nur am rumprobieren.

LG
Michael
- Asus PN 41- mapleCul V1.24.01 - FHEMDuino - FHEM 6.2 - HUE Bridge - ESPEasy Bridge -  Milight HUB - smartVISU 3.40 -

papa

Ich habe ehrlicherweise mittlerweile schon wieder vergessen, worum es ging.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

Funsailor

#23
Hallo Papa,
die Rollos mit Schalter anstatt Taster ansteuern...
- Asus PN 41- mapleCul V1.24.01 - FHEMDuino - FHEM 6.2 - HUE Bridge - ESPEasy Bridge -  Milight HUB - smartVISU 3.40 -

papa

#24
Hm - dein Code wird so nicht gehen. Du brauchst ein MixedChannelDevice mt 3 Blind-Channels und 3 ThreeState-Channels (0 - Down-Schalter, 50 - kein Schalter, 100 Up-Schalter). Schau Dir mal das HM-SEN-MDIR-WM55.ino an. Das hat auch unterschiedliche Channeltypen.
Den ThreeState kannst Du im HM-SEC-RHS ansehen. Dort werden auch zwei Pins genutzt, um 3 Zustände abzubilden.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

Funsailor

Hallo Papa,
danke für deine Hinweise, werde ich mir mal ansehen.....

- Asus PN 41- mapleCul V1.24.01 - FHEMDuino - FHEM 6.2 - HUE Bridge - ESPEasy Bridge -  Milight HUB - smartVISU 3.40 -