Wie Velux und Schellenberg steuern mit unabhängigen Eingängen?

Entwicklung und Bau von Hardware aller Art, die im HM-Umfeld eingesetzt werden kann

Moderator: Co-Administratoren

papa
Beiträge: 645
Registriert: 22.05.2018, 10:23
Hat sich bedankt: 16 Mal
Danksagung erhalten: 105 Mal

Re: Wie Velux und Schellenberg steuern mit unabhängigen Eingängen?

Beitrag von papa » 04.09.2022, 11:13

Das kann ich kurz machen - nein - habe schon keine Zeit für meine eigenen Projekte.
Anfragen zur AskSin++ werden nur im Forum beantwortet

kbach
Beiträge: 45
Registriert: 21.01.2014, 14:24
System: Alternative CCU (auf Basis OCCU)
Wohnort: bei Berlin

Re: Wie Velux und Schellenberg steuern mit unabhängigen Eingängen?

Beitrag von kbach » 25.09.2022, 21:57

Hallo papa, Deine Antwort kann ich natürlich voll akzeptierten.
Wie man es auch bei anderen Projekten beobachten kann überfordern die Anfragen der Interessierten mit der Zeit die Zeitressourcen der Entwickler - zumal sich ggf. auch die Lebensumstände der Entwickler ändern. Das führt leider dazu, dass Projekte Gefahr laufen zu verwaisen. Besonders tragisch wenn dann keine ausreichende Dokumentation vorhanden ist. Aber das ist leider, wie auch bei mir selbst, bei den meisten Entwicklern der Fall. Doku wird vernachlässigt - wenn kein Muß dahinter steht. Also bitte nicht als Vorwurf verstehen. Für sich selbst meint man immer - das merke ich mir, da finde ich mich wieder rein.
Aber warum schreibe ich das? Dank der Absage von papa (und das ist erst gemeint) habe ich mich selbst auf den Weg gemacht mein Vorhaben umzusetzen. Ich hatte nicht um Hilfe gebeten weil ich zu bequem bin sowas selbst zu probieren sondern weil mir die Anfangshürden schon zu hoch erschienen (bin eben kein Überflieger, so wie viele der Autoren hier). Nun bin ich über die ersten Hürden hinweg und das aus HB-LC-Bl1-Velux und dem HM-LC-BI1PBU-FM zusammengeschusterte Sketch läuft. Die größten Probleme hatte ich mit der erforderlichen Änderung an der zugehörigen Beschreibungsdatei, der XML- Datei. Stimmt darin was nicht gibt es "Fehler bei der Kommunikation" im Homematic GUI. Aber wo liegt der Fehler, in der XML-Datei oder im Sketch? Hinweise bekommt man keine. Und es bleibt auch nicht viel Zeit zum Probieren weil ruck zuck der Duty Cycle am Anschlag ist. Also keine gute Idee für ein produktives System.
Aber was kann der Sketch jetzt mehr? Ich habe drei zusätzliche Eingänge definiert die parallel zu den drei Tasten der Velux-Steuerung liegen - das beeinträchtigt nicht die Funktionalität des HM-LC-Bl1-Velux. Diese Taster werden in der Homatic zum Rollladenaktor angezeigt. Damit kann ein Homematic- Programm erkennen, wenn eine Velux- Steuerung bedient wurde. Bei langem Tastendruck können nun über dieses Homematic- Programm weitere Rollläden angesteuert werden. Bei kurzem Tastendruck wird das Programm nicht getriggert. Es passiert nichts. Es wird nur der einzelne Rollladen gefahren. Das war mein Ziel. Soweit mein erster Erfahrungsbericht.
Nun stehe ich vor den nächsten Hürden. Möchte ich meine Arbeit hier veröffentlichen muß aus dem umgebauten Sketch ein unabhängiger Sketch, mit eigener XML-Datei entstehen. Für den Eigenbedarf kann ich es bei diesem Stand belassen. Bei Updates des Device Addons weiß ich ja was ich nachziehen muß. Aber ist das der Sinn des Projekts AskSinPP?. Vermutlich nicht. Ich denke aber es könnte einigen so ergehen, dass sie an dieser Stelle aufgeben - so wie ich jetzt vielleicht ;-).
Also um jetzt nicht das Rad neu erfinden zu müssen suche ich nach einem Leitfaden zur Entwicklung eines Addons. Welche Dateien müssen in welchen Verzeichnissen welche Informationen bekommen usw. Kann bitte jemand von Euch sowas veröffentlichen? Oder unter welchen Voraussetzungen könnte meine Lösung - falls diese interessant erscheint - in einem bestenden Addon landen?

20220925_113323.jpg
Hier noch ein Bild von meiner Steuerung. Das aktuelle Gehäuse der Velux-Steuerung scheint für die Aufnahme eines Arduino Pro Mini wie geschaffen. Einen Steg rausschnitzen und ein paar kleine Löscher bohren. Das CC1101 Modul findet im inneren Platz. Ich habe die Power LED gleich zur Status LED umfunktioniert. Auch der Resettaster kann als Config- Taste geschaltet werden. Leider mußte ich diesen aber dann, wegen dessen Bauhöhe noch entfernen (die Idee mit dem Reed-Kontakt stammt natürlich aus diesem Forum). Zum Schluß kommt dann noch ein transparenter Klebestreifen drauf, welches speziell die dünnen Drähte schützt. Zugegeben, es ist mit den dünnen Drähten schon eine Herausforderung aber immer noch leichter als eine Platine mit SMD zu bestücken.

Eine ausführliche Beschreibung kann ich noch liefern, wenn das Problem mit dem Addon geklärt ist und, wenn ich die Variante für die Zweitastensteuerung (z.B. für Schellenberg) fertig habe. Aber erst muß ich noch ein paar Velux-Exemplare bauen.

jp112sdl
Beiträge: 10779
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 717 Mal
Danksagung erhalten: 1727 Mal
Kontaktdaten:

Re: Wie Velux und Schellenberg steuern mit unabhängigen Eingängen?

Beitrag von jp112sdl » 25.09.2022, 22:05

kbach hat geschrieben:
25.09.2022, 21:57
suche ich nach einem Leitfaden zur Entwicklung eines Addons.
Das lässt sich so pauschal nicht beantworten. Es hängt von so vielen Faktoren ab... Willst du eigene Steuerlemente in der WebUI anzeigen oder neue Datenpunkt-Typen implementieren oder eigentlich nur ein bestehendes Gerät um ein paar (in Homematic bereits etablierte) Kanäle/Datenpunkte erweitern?

Eine grobe Richtung gibt dir evtl. viewtopic.php?f=76&t=41932&p=448760&hil ... te#p448760 sowie der Thread viewtopic.php?f=76&t=66649&p=654147#p654147

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

TomMajor
Beiträge: 1734
Registriert: 30.08.2017, 23:25
Hat sich bedankt: 168 Mal
Danksagung erhalten: 371 Mal
Kontaktdaten:

Re: Wie Velux und Schellenberg steuern mit unabhängigen Eingängen?

Beitrag von TomMajor » 26.09.2022, 00:11

kbach hat geschrieben:
25.09.2022, 21:57
Wie man es auch bei anderen Projekten beobachten kann überfordern die Anfragen der Interessierten mit der Zeit die Zeitressourcen der Entwickler - zumal sich ggf. auch die Lebensumstände der Entwickler ändern. Das führt leider dazu, dass Projekte Gefahr laufen zu verwaisen.
Gute Beobachtung und weise Worte :)

Zum Thema AddOn, ein paar Informationsstücke für meine Belange hatte ich damals hier zusammen getragen:
https://github.com/TomMajor/SmartHome/t ... ntwicklung

Mir hat damals die Kommunikation mit Jerome sehr viel geholfen, mein AddOn zu entwickeln und zu begreifen was vor sich geht, ohne ihn wäre das kaum möglich gewesen.
Und natürlich viel try-and-error, ein USB Device wie das HB-MOD-UART-USB von Marco und dazu RaspberryMatic in einer VM für schnelle Tests helfen.

"Richtige" Doku für HomeMatic Geräte <-> xml usw. wird man m.E. nur finden wenn man bei eQ-3 anheuert :wink:
Viele Grüße,
Tom

jp112sdl
Beiträge: 10779
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 717 Mal
Danksagung erhalten: 1727 Mal
Kontaktdaten:

Re: Wie Velux und Schellenberg steuern mit unabhängigen Eingängen?

Beitrag von jp112sdl » 26.09.2022, 06:52

TomMajor hat geschrieben:
26.09.2022, 00:11
Mir hat damals die Kommunikation mit Jerome sehr viel geholfen, mein AddOn zu entwickeln und zu begreifen was vor sich geht, ohne ihn wäre das kaum möglich gewesen.
Danke, da fängt die Woche doch gleich gut an :D

Nur mal für die Chroniken... als ich mit AskSin angefangen habe, war die Möglichkeit, BidCos funkende Geräte selbst zu bauen, hier im Homematic Forum bis auf wenige kleine Beiträge gar nicht bekannt.
Das war eher alles im FHEM Forum angesiedelt.

Und dass es überhaupt die Möglichkeit gibt, ganz eigene Gerätemodelle in die CCU einzupflanzen,
ist dem >>>Github Ticket #253 bei RaspberryMatic<<< geschuldet.

Das war mein Einstieg. 2018... vor 4 1/2 Jahren... kommt mir irgendwie schon viel länger vor.
Aber dort (also bei Dirks Wettersensor-Projekt) habe ich mir die Grundlagen abgeschaut und mich dann mit viel Ehrgeiz immer tiefer in die Weiten der WebUI durchgekämpft.

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

kbach
Beiträge: 45
Registriert: 21.01.2014, 14:24
System: Alternative CCU (auf Basis OCCU)
Wohnort: bei Berlin

Re: Wie Velux und Schellenberg steuern mit unabhängigen Eingängen?

Beitrag von kbach » 26.09.2022, 15:49

Vielen Dank für Eure Reaktionen!

Über den Aufbau der XML-Datei habe ich nur einen Beitrag gefunden [goto]https://forum.fhem.de/index.php/topic,6 ... m42m695i7a[/goto]. Es geht um Wired- Komponenten. Der Grundaufbau sollte aber gleich sein. Hat mir schon sehr geholfen. Ein Problem ist mir allerdings geblieben. Es ist mir nicht gelungen die Anzahl der Kanäle dynamisch zu steuern. Mit der ersten Variante bekomme ich im Homematic GUI Komminikationsfehler angezeigt.

<channel autoregister="true" index="2" type="KEY" count_from_sysinfo="23.0:1.0" pair_function="BA" function="A" paired="true" aes_default="true">

Die folgende Variante funktioniert, erschwert mir aber den Umbau auf die Zweikanalvariante, da ich so zwei verschiedene XML- Dateien bräuchte.

<channel autoregister="true" index="2" type="KEY" count="3" pair_function="BA" function="A" paired="true" aes_default="false">

Dieses Problem hätte ich natürlich gern beseitigt bevor ich mich an ein Addon wage. Kann da jemand von Euch helfen?

Beim Addon werde ich natürlich versuchen mich selbst durchzubeissen bevor ich versuche Jerome auf den Geist zu gehen. Also erst, wenn ich nicht mehr weiterkomme ...
Das die Spielwiese Addon sehr groß ist habe ich schon begriffen. Zum Glück benötige ich auch keine Erweiterungen in der Darstellung des Gerätes oder schlimmeres. Es beschränkt sich lediglich auf ein neues Gerät und die XML- Datei. Die von Euch gelieferten Links werden mich da vermutlich schon ein Stück weiter bringen. Einige davon kenne ich schon. Ich kann aber nicht sagen, das mir die Latte beim Querlesen niedriger erschien ... Aber ich habe (für später) auch noch andere Ideen. Da laufe ich vielleicht dann auch in diese Probleme.

Sorry, es ist mir nicht gelungen die XML- Sequenzen als Code darzustellen und den Link als solchen korrekt darzustellen. Da muß ich wohl noch üben. :(

TomMajor
Beiträge: 1734
Registriert: 30.08.2017, 23:25
Hat sich bedankt: 168 Mal
Danksagung erhalten: 371 Mal
Kontaktdaten:

Re: Wie Velux und Schellenberg steuern mit unabhängigen Eingängen?

Beitrag von TomMajor » 26.09.2022, 19:41

jp112sdl hat geschrieben:
26.09.2022, 06:52
Danke, da fängt die Woche doch gleich gut an :D

Nur mal für die Chroniken... als ich mit AskSin angefangen habe, war die Möglichkeit, BidCos funkende Geräte selbst zu bauen, hier im Homematic Forum bis auf wenige kleine Beiträge gar nicht bekannt.
Das war eher alles im FHEM Forum angesiedelt.

Und dass es überhaupt die Möglichkeit gibt, ganz eigene Gerätemodelle in die CCU einzupflanzen,
ist dem >>>Github Ticket #253 bei RaspberryMatic<<< geschuldet.
Wow, diese Infos im github link waren mir schon wieder entfallen..
Lachen musste ich bei dieser Stelle: :lol:
jp112sdl commented on 11 Feb 2018
@jens-maus
Danke für die ausführliche Antwort!
Ich verstehe die Bedenken bzgl. des root-fs.
Jedoch gibt es leider keinen user-space für xml-Deskriptoren.
Mit dem Umweg über rc.d wird das Ganze unnötig komplex und (mir zu) kompliziert.
@kbach
Sorry, es ist mir nicht gelungen die XML- Sequenzen als Code darzustellen und den Link als solchen korrekt darzustellen. Da muß ich wohl noch üben.
[cod e]your code here[/cod e]

[ur l=https://...]LinkName[/ur l]

Um dies ohne Interpretation der Codes hier hinschreiben zu können habe ich ein space in code bzw. url eingefügt. Das muss natürlich weg.
Viele Grüße,
Tom

jp112sdl
Beiträge: 10779
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 717 Mal
Danksagung erhalten: 1727 Mal
Kontaktdaten:

Re: Wie Velux und Schellenberg steuern mit unabhängigen Eingängen?

Beitrag von jp112sdl » 26.09.2022, 22:05

kbach hat geschrieben:
26.09.2022, 15:49
Es ist mir nicht gelungen die Anzahl der Kanäle dynamisch zu steuern.

Code: Alles auswählen

 count_from_sysinfo="23.0:1.0"
setzt im Sketch voraus, dass die Info Bytes

Code: Alles auswählen

// define all device properties
const struct DeviceInfo PROGMEM devinfo = {
  ...
  {0x01, 0x01}                 // Info Bytes
};
angegeben sind. Eins davon ist nur für die Sysinfo zuständig, ich vergesse aber immer welches ^^


Dann wird die Anzahl der Kanäle als Sysinfo beim Anlernen mit gesendet. Das geht aber grundsätzlich erstmal nur, wenn ALLE Kanäle die Anzahl von der Sysinfo erhalten - wenn du also ein Gerät hast, das ausschließlich aus den selben Kanälen besteht.




Man kann mit dem define

Code: Alles auswählen

#define DEVICE_CHANNEL_COUNT
zwar noch tricksen (siehe z.B. https://github.com/jp112sdl/HB-UNI-Sen- ... ST.ino#L40), aber das lassen wir hier mal außen vor, sonst wird es noch viel komplizierter.

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

kbach
Beiträge: 45
Registriert: 21.01.2014, 14:24
System: Alternative CCU (auf Basis OCCU)
Wohnort: bei Berlin

Re: Wie Velux und Schellenberg steuern mit unabhängigen Eingängen?

Beitrag von kbach » 27.09.2022, 16:05

Tom, Dir vielen Dank für die Formathinweise - ich will es gleich einmal ausprobieren. :D Bin jetzt bei der Kommunikation auch von Android auf Windows umgezogen. Da wird die Sache doch klarer.

Hallo Jerom, leider konnte ich mit Deinem Hinweis mein Problem nicht lösen. Das Problem scheint bei näherer Betrachtung tiefer zu liegen. Ich hatte wohl nur Glück, dass es irgendwie funktioniert hat. Wie ich schon berichtete habe ich den Sketch aus dem HB-LC-Bl1-Velux und dem HB_LC_Bl1PBU-FM zusammengeschustert. Wenn ich jetzt dieses Gerät unter Geräte (Homematic GUI) ansehe sieht es doch recht eigenartig aus. Mir scheint, dass der Config -Taster mit dargestellt wird. Wie die Gruppierung zustande kommt - auch keine Ahnung. Trotzdem funktioniert es mit count=3 tadellos. Nur man kommt schon leicht ins schleudern, will man die Kanäle umbenennen.
Mit festem count.png

Mit count_from_sysinfo="23.0:1.0" sieht es noch schlimmer aus und da kommen dann auch Kommunikationsfehler.
Mit autocount.png

Ich hatte mir das Gerät immer nur unter "Status und Bedienung" angesehen. Da sieht es immer gut aus.
Gerät unter Status.png

Ich vermute mal, das Problem liegt daran, dass im MixDevice 'blc1' und 'btcn' gemeinsam stehen. Da kommt in sysinfo dann was falsches an. Habe aber keine Vorstellung wie ich es anders machen könnte.

Code: Alles auswählen

    MixDevice (const DeviceInfo& info, uint16_t addr) : DeviceType(info, addr) {
      DeviceType::registerChannel(blc1, 1);
      DeviceType::registerChannel(btc1, 2);  // 3x unabhängiger Taster
      DeviceType::registerChannel(btc2, 3);
      DeviceType::registerChannel(btc3, 4);
    }

Ich denke Du müsstest mehr von dem Sketch sehen - aber soll ich das hier einfügen?

Gruß Klaus

jp112sdl
Beiträge: 10779
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 717 Mal
Danksagung erhalten: 1727 Mal
Kontaktdaten:

Re: Wie Velux und Schellenberg steuern mit unabhängigen Eingängen?

Beitrag von jp112sdl » 27.09.2022, 18:11

kbach hat geschrieben:
27.09.2022, 16:05
Wie die Gruppierung zustande kommt - auch keine Ahnung.
Das macht die WebUI automatisch, wenn in der XML

Code: Alles auswählen

paired="true"
angegeben ist.

Das Gruppieren dient dazu, dass beim Anlegen von Direktverknüpfungen immer paarweise (auf Fernbedienungen nebeneinander liegende) Taster vorbelegt sind. z.B. bei der Verknüpfung mit einem Schaltaktor wird KEY 1 mit EIN und KEY 2 mit AUS angelegt.

Ansonsten passt es. Wenn die Gruppierung nicht mehr erfolgt, stimmt auch die numerische Sortierung.

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

Antworten

Zurück zu „Hardwareentwicklung und Selbstbau von Aktoren und Sensoren“