Steuerung von Elero Rollläden

Begonnen von HCS, 26 September 2015, 05:15:25

Vorheriges Thema - Nächstes Thema

HCS

Zitat von: thomhug am 04 Januar 2017, 22:45:29
... oder Multi-868-MHz Problem zu tun...
Das müsste man dadurch ermitteln können, dass man den ZW testweise an der gleichen Position an einen anderen Rechner anschließt.
Wenn das Problem dann noch da ist, ist es ein reines HF-Thema.

thomhug

Zitat von: HCS am 04 Januar 2017, 22:49:59
Das müsste man dadurch ermitteln können, dass man den ZW testweise an der gleichen Position an einen anderen Rechner anschließt.
Wenn das Problem dann noch da ist, ist es ein reines HF-Thema.

Also es liegt an irgendwelchen HF-Interferenzen oder schlechtem Empfang. Mit abgestecktem ZWDongle gings dann ploetzlich auch nicht mehr 100% zuverlaessig und sobald ich den EleroStick ausserhalb des Netzwerkkastens platzierte, waren die Reaktionszeiten ploetzlich auch nicht mehr ca. 3s, sondern <1s! Der ZWDongle ist auch nicht gerne im Schrank und nun sind eben beide draussen. Wenn ich den EleroStick an den ZWDongle druecke, funktioniert Elero trotzdem inkl. Antwort. Das ganze Funkzeugs ist mir irgendwie supsekt...

Anscheinend sendet der EleroStick mit mehr Leistung als die Aktoren Antwort geben, sonst haette das nicht immer so zuverlaessig funktioniert (und mich verwirrt)...

HCS

Zitat von: thomhug am 05 Januar 2017, 12:41:45
Anscheinend sendet der EleroStick mit mehr Leistung als die Aktoren Antwort geben, sonst haette das nicht immer so zuverlaessig funktioniert (und mich verwirrt)...
Da habe ich eine (unüberprüfte) Theorie: die Elero Antriebe leiten Fahrbefehle von einem zum Anderen weiter, dass der Befehl auch in der hintersten Ecke vom Haus ankommt. Das bedeutet, dass es reicht, wenn man irgend einen seiner Antriebe erreicht.
Vielleicht wird das mit Rückmeldungen nicht gemacht und man muss sie direkt hören.

vitolinker

@HCS:
Deine Theorie ist richtig. Das Elero Proline2 Protokoll ist selbstvermaschend und propagiert die Telegramme weiter in die hinterste Ecke. Die Villa mit 6000qm Grundstück mag ja mit allen 30 Zimmern die Rolläden betätigen wollen. Damit die Fernbedienung dieses auch mitbekommt ("Wissen was läuft" ist Elero's Claim), wird wohl auch das ACK zurückpropagiert werden. Da gibt es schon eine Menge Funkverkehr.
Manche Module sind so programmiert, dass sie nur so ca. 2% der Zeit für Übertragungen nutzen. Das heißt dann also, dass sie Signale verzögern, um nicht den Kanal zu verstopfen. Vielleicht ist es hier auch so ein Thema.

Generell muss das Problem hier wohl isoliert werden. Es gab ja bereits schon hinreichend viele Vorschläge dazu. Für eingehende Analyse kann ich einen DVB-T Stick empfehlen, der aus einem PC ein Software Defined Radio (SDR) macht (ca 14 Euro in der Bucht) und mit SDR# als Software ein Spektrumanalysator darstellt.
So erkennt man meist anhand der Sendestärke, welche Funktelegramme von wem wohl durch die Luft fliegen.

Mit weniger Materialaufwand ist es sonst nur möglich, einzelne Parameter zu verändern und das Verhalten zu beobachten. Vielleicht hilft es auch schon den EleroStick auf Verbose 5 zu setzen und mit dem Event Monitor den Traffic sichtbar zu machen?

raspb+

Hallo,
vielen Dank an alle für die Mühe und Umsetzung.

Ich bin durch meine Elero Antriebe hier gelandet, und habe gleich mal eine Frage vielleicht kann mir jemand eine Info geben.

Ich habe meine Antriebe auf dem Stick angemeldet und soweit wie hier beschrieben eingerichtet, nun folgendes Problem das
1 Antrieb nicht immer den Aktuellen Status liefert,  Ab/Auffahrt funktioniert aber eben ohne Status, ab und an ist der Status auch da ansonsten nur Initialize.
Die restlichen 6 Antriebe liefern den Status einwandfrei.
Wie im ersten Post habe ich dieses angelegt, muss das für jeden Kanal wiederholt werden ?
define EleroLivingRoomEast EleroDrive 2

Wie hoch kann im Stick die Intvervall Zeit gesetzt werden ?

Vielen Dank

HCS

Hänge mal hier ein
list -r TYPE=Elero.*
an, dass ich sehe, was Du definiert hast.

raspb+

Hallo,
vielen Dank,
so wie es aussieht funktioniert die Status abfrage nun wunderbar. Es war mein Fehler ich hatte anfangs
das Beispiel von Seite 1 mit den EleroDrive (Kanal2) übernommen, und anschließend vom User Kent (Seite 6)die Config. teils übernommen,
so dass Kanal 2 quasi 2 mal angelegt war.

anbei die list, evtl. kann man  ja noch was verbessern. Ich bin neu dabei mit dem Raspi und Fhem und tue mich noch etwas schwer damit  :(

define EleroDrive_1 EleroDrive 1
attr EleroDrive_1 userattr room_map structexclude
attr EleroDrive_1 IODev myElero
attr EleroDrive_1 TopToBottomTime 27
attr EleroDrive_1 alias Kueche vorn
attr EleroDrive_1 cmdIcon moveDown:fts_shutter_down moveUp:fts_shutter_up stop:fts_shutter_manual:moveIntermediate:fts_shutter_50
attr EleroDrive_1 room 02_Kueche,EleroDrive
attr EleroDrive_1 webCmd moveDown:stop:moveUp:moveIntermediate

define EleroDrive_2 EleroDrive 2
attr EleroDrive_2 userattr room_map structexclude
attr EleroDrive_2 IODev myElero
attr EleroDrive_2 TopToBottomTime 26
attr EleroDrive_2 alias Kuechehinten
attr EleroDrive_2 cmdIcon moveDown:fts_shutter_down moveUp:fts_shutter_up stop:fts_shutter_manual:moveIntermediate:fts_shutter_50
attr EleroDrive_2 room 02_Kueche,EleroDrive
attr EleroDrive_2 webCmd moveDown:stop:moveUp:moveIntermediate

define EleroDrive_3 EleroDrive 3
attr EleroDrive_3 userattr room_map structexclude
attr EleroDrive_3 IODev myElero
attr EleroDrive_3 TopToBottomTime 28
attr EleroDrive_3 alias Wohnzimmer Fenster
attr EleroDrive_3 cmdIcon moveDown:fts_shutter_down moveUp:fts_shutter_up stop:fts_shutter_manual:moveIntermediate:fts_shutter_50
attr EleroDrive_3 room 01_Wohnzimmer,EleroDrive
attr EleroDrive_3 webCmd moveDown:stop:moveUp:moveIntermediate

define EleroDrive_4 EleroDrive 4
attr EleroDrive_4 userattr room_map structexclude
attr EleroDrive_4 IODev myElero
attr EleroDrive_4 TopToBottomTime 33
attr EleroDrive_4 alias Tuer Wohnzimmer
attr EleroDrive_4 cmdIcon moveDown:fts_shutter_down moveUp:fts_shutter_up stop:fts_shutter_manual:moveIntermediate:fts_shutter_50
attr EleroDrive_4 room 01_Wohnzimmer,EleroDrive
attr EleroDrive_4 webCmd moveDown:stop:moveUp:moveIntermediate

define EleroDrive_5 EleroDrive 5
attr EleroDrive_5 userattr room_map structexclude
attr EleroDrive_5 IODev myElero
attr EleroDrive_5 TopToBottomTime 33
attr EleroDrive_5 alias Tuer Schlafzimmer
attr EleroDrive_5 cmdIcon moveDown:fts_shutter_down moveUp:fts_shutter_up stop:fts_shutter_manual:moveIntermediate:fts_shutter_50
attr EleroDrive_5 room 03_Schlafzimmer,EleroDrive
attr EleroDrive_5 webCmd moveDown:stop:moveUp:moveIntermediate

define EleroDrive_6 EleroDrive 6
attr EleroDrive_6 userattr room_map structexclude
attr EleroDrive_6 IODev myElero
attr EleroDrive_6 TopToBottomTime 27
attr EleroDrive_6 alias Fenster Schlafzimmer
attr EleroDrive_6 cmdIcon moveDown:fts_shutter_down moveUp:fts_shutter_up stop:fts_shutter_manual:moveIntermediate:fts_shutter_50
attr EleroDrive_6 room 03_Schlafzimmer,EleroDrive
attr EleroDrive_6 webCmd moveDown:stop:moveUp:moveIntermediate

define EleroDrive_7 EleroDrive 7
attr EleroDrive_7 userattr room_map structexclude
attr EleroDrive_7 IODev myElero
attr EleroDrive_7 TopToBottomTime 22
attr EleroDrive_7 alias Bad
attr EleroDrive_7 cmdIcon moveDown:fts_shutter_down moveUp:fts_shutter_up stop:fts_shutter_manual:moveIntermediate:fts_shutter_50
attr EleroDrive_7 room 04_BadOg,EleroDrive
attr EleroDrive_7 webCmd moveDown:stop:moveUp:moveIntermediate

define myElero EleroStick /dev/ttyUSB0@38400
attr myElero ChannelTimeout 2
attr myElero Interval 360

setstate EleroDrive_1 top_position
setstate EleroDrive_1 2017-01-18 12:40:31 percentClosed 0
setstate EleroDrive_1 2017-01-18 12:40:31 position top_position
setstate EleroDrive_1 2017-01-18 12:40:31 state top_position

setstate EleroDrive_2 top_position
setstate EleroDrive_2 2017-01-18 12:40:33 percentClosed 0
setstate EleroDrive_2 2017-01-18 12:40:33 position top_position
setstate EleroDrive_2 2017-01-18 12:40:33 state top_position

setstate EleroDrive_3 top_position
setstate EleroDrive_3 2017-01-18 12:40:35 percentClosed 0
setstate EleroDrive_3 2017-01-18 12:40:35 position top_position
setstate EleroDrive_3 2017-01-18 12:40:35 state top_position

setstate EleroDrive_4 top_position
setstate EleroDrive_4 2017-01-18 12:40:40 percentClosed 0
setstate EleroDrive_4 2017-01-18 12:40:40 position top_position
setstate EleroDrive_4 2017-01-18 12:40:40 state top_position

setstate EleroDrive_5 top_position
setstate EleroDrive_5 2017-01-18 12:40:42 percentClosed 0
setstate EleroDrive_5 2017-01-18 12:40:42 position top_position
setstate EleroDrive_5 2017-01-18 12:40:42 state top_position

setstate EleroDrive_6 top_position
setstate EleroDrive_6 2017-01-18 12:40:44 percentClosed 0
setstate EleroDrive_6 2017-01-18 12:40:44 position top_position
setstate EleroDrive_6 2017-01-18 12:40:44 state top_position

setstate EleroDrive_7 top_position
setstate EleroDrive_7 2017-01-18 12:40:46 percentClosed 0
setstate EleroDrive_7 2017-01-18 12:40:46 position top_position
setstate EleroDrive_7 2017-01-18 12:40:46 state top_position

setstate myElero opened
setstate myElero 2017-01-18 12:40:46 AnswerMsg aa054d004001c3
setstate myElero 2017-01-18 12:40:46 AnswerType easy_ack
setstate myElero 2017-01-18 12:40:46 SendMsg aa044e0040c4
setstate myElero 2017-01-18 12:40:46 SendType easy_info
setstate myElero 2017-01-18 00:33:37 state opened

HCS

Zitat von: raspb+ am 18 Januar 2017, 13:13:49
evtl. kann man  ja noch was verbessern.
Sieht gut aus.

attr myElero ChannelTimeout 2
könnte u.U. etwas knapp sein, aber wenn die Rückmeldungen zuverlässig kommen, dann ist es OK

attr myElero Interval 360
Wäre für meinen Geschmack etwas lang, wenn Du einen Antrieb vorort manuell gefahren hast, kommt die Rückmeldung erst (im ungünstigsten Fall) nach 5 Minuten.
120 produziert zwar etwas mehr Funkverkehr, bringt aber die Statuswerte zeitnäher.

Aber prima, dass alles funktioniert, wie es soll.

al15

Hallo,

zunächst mal Danke für die super Lösung und den tollen support.

Habe bei mir im EG Raffstores und im OG Rollos daher wollte ich Fragen ob es vielleicht möglich wäre das Delay über ein attribut am EleroDrive zu steuern?

DANKE
lg
AL

HCS

Zitat von: al15 am 31 Januar 2017, 22:59:40
Habe bei mir im EG Raffstores und im OG Rollos daher wollte ich Fragen ob es vielleicht möglich wäre das Delay über ein attribut am EleroDrive zu steuern?
Sorry, eben erst gesehen.
Du meinst das delay von EleroStick beim jeweiligen EleroDrive definieren?
Um zu verstehen, wie und warum das werden könnte, sollte ich noch wissen, was das Problem ist, das Du damit lösen willst?

al15

Hallo,

gar kein Problem!

Habe wie gesagt im EG Raffstores und soweit ich verstanden habe benötige ich da das delay setting (muss gestehen hab es ohne nicht versucht - mach ich gleich morgen) - im OG habe ich normalle Rollläden und da brauche ich das delay nach meinem verständniss nicht. habe in summe 14 Drives auf einem Stick somit müsste ich bei allen derzeit das delay benutzen ..

Vielleicht hab ich die sache mit dem delay ja aber auch total falsch verstanden (im wiki hab ich dazu keine infos gefunden.)

DANKE nochmals für die Unterstützung und sorry falls ich das falsch verstanden habe hoffe du kannst das vielleicht kurz aufklären.
lg
AL

HCS

delay (nicht zu verwechseln mit ChannelTimeout) baut, wenn etwas wie z.B. ein Structure sehr schnell hintereinander Fahrbefehle reingibt, eine Verzögerung ein, dass der Elero-Stick einen Befehl absetzen kann, bevor er den nächste bekommt und den vorhergehenden verwirft, weil er nicht durch war.

Das sollte eigentlich für Raffstores und Rollläden kein Unterschied sein.

Ich habe delay auf 1 stehen und kann mit einem Structure die ganze Truppe von 12 Rollläden fahren lassen.

Man muss da etwas experimentieren.
Und man muss der Sache ihre Zeit zugestehen. Die ganzen Fahrbefehle müssen durch das Elero-System geschickt werden, Rückmeldungen sind auch unterwegs und manche Antriebe werden nur durch freundliches Weiterleiten anderer Antriebe erreicht, usw.

Was kaum hinzubekommen ist, ist, dass man klickt und innerhalb einer Sekunde fahren alle Antriebe.

Probier mal was geht und dann schauen wir nochmal, ob was geändert werden muss.

Ach ja, delay ist auch nicht in der commandRef beschrieben. Habe es auf die ToDo genommen.

al15

Hi,

danke für die rasche Antwort und die Beschreibung - hab jetzt ohne delay getestet und auch die raffstores funktionieren!

Werde dann mal mit gruppen probieren und schauen wie es mit dem delay aussieht...

DANKE nochmals für die tolle arbeit und Unterstützung!
lg
AL

Jack_n

Hallo,

funktioniert alles super !

Eine Frage hätte ich doch: Wozu ist set ... moveto ?

Ich hatte gehofft dass man da auf eine Prozentangabe fahren kann, es passiert aber nichts.

LG
Joachim

HCS

Zitat von: Jack_n am 12 Februar 2017, 10:09:43
Ich hatte gehofft dass man da auf eine Prozentangabe fahren kann, es passiert aber nichts.
Genau das war der Plan. Aktuell befindet er sich aber auf Status "Gescheitert".
Ich wollte basierend auf TopToBottomTime ausrechnen, wie lange der Antrieb fahren muss, um auf eine bestimmte Position, z.B. 30% auf, zu kommen.

Die Probleme sind aber erheblich.
Er müsste, wenn er nicht auf oder zu ist, erst mal komplett auf oder zu gefahren werden, weil Elero nur "auf", "zu" und "irgendwo" kennt.
Wenn er sicher dort angekommen ist, muss er losgefahren und nach exakt der berechneten Zeit gestoppt werden.

Das funktioniert mit einem einzelnen gerade so halbwegs, spätestens wenn jemand seine 12 Antriebe mit einem structure alle auf "20%" fahren will, ist das timing komplett ruiniert.

Ich sollte den set rausnehmen, solange er nicht funktioniert. Macht ja so keinen Sinn.