AskSin++ Library

Begonnen von papa, 08 September 2016, 11:11:25

Vorheriges Thema - Nächstes Thema

papa

Zitat von: ext23 am 11 Oktober 2018, 14:21:12
eine Frage, ich habe derzeit ein Schlüsselbrett an dem ich 3 1-Wire iButtons hängen kann. Das Abfragen der Buttons funktioniert aber nur mittelprächtig weil FHEM doch teilweise stark blockiert etc.
Mir kam jetzt die Idee das mit einem HB-GEN-SENS zu realisieren. Sprich der pollt den 1-Wire Bus und übermittelt an FHEM die vorhandenen gefundenen iButton Seriennummern. Bekommt man das hin? Kann ich an FHEM eine "Liste" dynamischer Länge übermittelt? Gut in meinem Fall sind es nur maximal 3 Seriennummern...

Allerdings ist das vielleicht keine gute Idee über Funk zu regeln, vielleicht doch lieber Kabelbasiert?
Für mein Klingelprojekt https://forum.fhem.de/index.php/topic,87512.msg799444.html#msg799444 habe ich schon eine rudimentäre iButton-Unterstützung . Die grobe Idee ist, dass man einen iButton-Kanal hat, welcher eine ID zugewiesen bekommt. Wenn der Button mit der entsprechenden ID gelesen wird, wird ein Remote-Event (wie bei einer Fernbedienung) erzeugt. Es können dann Geräte mit dem entsprechenden Kanal gepeert werden, womit dann eine Aktion ausgelöst werden kann. Das ganze ist derzeit nur im entsprechenden Projekt https://github.com/pa-pa/AskSinPP/tree/master/examples/stm32/HB-DoorBell implementiert.
Die ID für jeden Kanal kann per Register gesetzt werden oder indem man den Kanal auf ON schaltet. Dann wird der Kanal für 60 Sekunden in den Konfig-Modus versetzt und merkt sich die nächste gelesene ID.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

ext23

Naja das würde ja auch gehen, aber dann findet die Seriennummer Verwaltung in dem Gerät statt. Dann muss man die eben als Register oder so bekannt machen und dem Kanal zuordnen. Oder eben per "Anlernen" speichern, irgendwie so ja.

/Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

papa

Das funktioniert soweit alles schon. Man müsste es nur noch in ein extra Geräte auslagern.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

papa

Ich habe ein neues Geräte im GitHub eingecheckt. HB-IBUT-8 - ein 8 Kanal iButton Gerät. Damit es erfolgreich in FHEM angelernt werden kann, muss die HMConfig_AskSinPPCustom.pm aktualisiert werden.
Nach dem Anlernen sind 8 Kanäle Id_01 - Id_08 verfügbar.  Jedem Kanal kann ein iButton zugeordnet werden. Dazu ist der entsprechende Kanal mit
set DEVICE_Id_Kanalnummer on
in den Anlernmodus zu versetzen. Dieser ist für 1 Minute aktiv. Der aktive Anlernmodus wird durch abwechselndes Blinken der beiden Leds angezeigt. Wird jetzt ein iButton an den Leser gehalten, wird die entsprechende Id im Kanal gespeichert. Das Speichern wird mit der grünen Led bestätigt. Von nun an wird ein Remote-Event ausgelöst, wenn der entsprechende iButton gelesen wird.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

ext23

Was passiert wenn 3 iButtons am Bus hängen? Und beim "entfernen", gibt es da auch ein event?

/Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

papa

Wei meinst Du das - 3 Buttons am Bus hängen ? Meinst Du 3 Reader ? Kannst Du das mal irgendwie genauer beschreiben.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

ext23

Na One-Wire ist doch ein Bus, ich habe an meinem Schlüsselbrett 3 Magnetkontaktflächen an denen die Schlüssel hängen, je nachdem wer zu Hause ist. Also das HM Modul ist der Busmaster und dann kannst du ja x beliebige 1W Geräte haben.

Ist wie gesagt bei mir ein etwas anderer UseCase.

/Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

gloob

Zitat von: papa am 12 Oktober 2018, 07:17:08
Wei meinst Du das - 3 Buttons am Bus hängen ? Meinst Du 3 Reader ? Kannst Du das mal irgendwie genauer beschreiben.

Ich glaube ext23 hat 3 Reader mit je einem Button. Du nutzt einen Reader und hast dort 3 Buttons dran.
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

papa

Also eher wie ein Fensterkontakt ..... also als ThreeState-Kanal mit den States
0 - ABSENT
100 - PRESENT
200 - EDUCATE

Das Verhalten könnte man natürlich alternativ implementieren.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

ext23

Nee nicht ganz ;-)

Dein Ansatz mit Multikanal ist schon gut. Es können ja auch mehr als 3 Schlüssel existieren.

Ich muss FHEM technisch wissen, welcher Schlüssel bzw. IButton bzw. Seriennummer "häng". Sprich sobald ein IButton mit einer gültigen Seriennummer angehangen wurde. Man könnte also sagen ich haben 5 Seriennummern angelernt an je einem Kanal. Jeder Kanal entspricht dann einer bestimmten Person das kann man ja mappen. So und ich muss unter FHEM den Status sehen welcher dieser Buttons gerade hängt. Ziehe ich ein Button ab weil jemand die Wohnung verlässt dann muss ich da ebenfalls ein Trigger bekommen um direkt drauf zu reagieren.

Ich bin mir halt nur nicht sicher ob das sicherheitstechnisch eine gute Lösung ist, weil damit auch die Alarmanlage aktiviert wird etc. Oder ob man Kabelgebunden bleibt und es über MQTT und LAN macht etc.

/Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

papa

Das meine ich doch - es sind dann X ThreeStateKanäle - pro iButton/Schlüssel einer. Dann gibt es bei jeder Statusänderung eine Nachricht. Wie bei einem Fenstersensor, kann jeder Kanal direkt mit Aktoren gepeert werden.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

ext23

Ja ok, also Dual State reicht ;-) Aber gut um es auf "HM" abzubilden richtig ja.
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

Klaus0815

Habe zufällig diese interessante Seite gefunden:
https://github.com/jp112sdl/Beispiel_AskSinPP/tree/master/examples

Ja, vieles von papa kopiert, aber finde es interessant, Sensoren zu bauen, die man so nicht kaufen kann

Nur, bevor ich mich verrenne, was läuft denn davon mit FHEM?
So wie ich es verstanden habe ist die Homematic Comunity sehr fleissig im Nachbauen, die Beispiele gehen dann auch mit der CCU, aber für FHEM braucht es wohl jeweils spezielle Files?
Mag da mal jemand etwas aufklären? 
Von Papa gibt es den generischen Sensor, was ist der HB-Uni-Sen?

Bin zugegeben kein Programmierer, würde es evtl. Sinn machen, einen eigenen Thread hier zu eröffnen mit (auch in FHEM) funktionierenden Beispielen?

Viele Grüße
Klaus


papa

Zitat von: ext23 am 12 Oktober 2018, 11:58:38
Ja ok, also Dual State reicht ;-) Aber gut um es auf "HM" abzubilden richtig ja.
Der HM-IBUT-8 kann jetzt auch den ThreeStateMode. Dazu muss im Device das Regsiter buttonMode auf state gestet werden. Default ist remote.
set DEVICE buttonMode state
Der Rest bleibt so wie zuvor.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

papa

Zitat von: Klaus0815 am 12 Oktober 2018, 20:27:45
Nur, bevor ich mich verrenne, was läuft denn davon mit FHEM?
Nur die Original-Nachbauten. Für die HB-Geräte wird eine angepasste HM-Config benötigt.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire