[98_Dooya] Modul Version 1.13

Begonnen von Jarnsen, 18 Februar 2016, 13:49:28

Vorheriges Thema - Nächstes Thema

Jarnsen


Zitat von: darkmission am 07 März 2016, 09:24:46
Was funktioniert ist, z.B. set Rollo_AZ pos 30;sleep 1;set Rollo_SZ pos

So realisiere ich es momentan...


Gesendet von iPhone mit Tapatalk
1 x RPi2,
1 x nanoCUL433, 1 x nanoCUL868, 1 x SIGNALduino433
Sonos/SonosSpeak, Homebridge, 2 x Enigma2, 10 x Nobily Rollläden, 3 x Intertechno Steckdosen
Pushover, Abfallerinnerung, MySensors, 7 x Max!

darkmission

Hallo Zusammen,

habe mal wieder ein bisschen programmiert, aufgeräumt getestet etc. Vor allem habe ich in der Entwicklerdoku gelesen, dass Module mit 99_* immer beim start geladen werden, sonst nur wenn mit define das Modul benötigt wird. darum nochmal Änderung der Nummer auf 98_Dooya.pm.

Die Vorlage war von Somfy mit Rollcode etc. was von Dooya nicht unterstützt wird. Auch my-pos gibt es nicht, darum habe ich diese Attribute mal entfernt.

Auch das Umschalten eines 868 Culs auf 433 habe ich entfernt. Man könnte das später mal testen, ob das nicht vielleicht sogar geht, da das Modul raw sendet.

Was mich jetzt noch locken würde, wäre die Kommunikation mit der FB von Dooya/Nobily etc. Das ist dann mein nächstes TODO. Man könnte dann feststellen ob jemand mit der FB das Rollo verändert hat, da sonst die Positionsangaben im FHEM nicht stimmen.

Das Attribut prog habe ich noch nicht testen können. Sobald die Nobilys wieder liefern können bestelle ich welche und teste das dann mal an einem ausgebauten.

Dann kann man auch mal über autocreate nachdenken. Im Moment bin ich der Meinung, dass das Format binärcode, wie die im Moment definiert werden, etwas unglücklich ist da die ID mit dem Kanal und der Aktion vermischt vom SIGNALduino geliefert wird.
Muss das nochmal genau recherchieren.

Man könnte sagen, das ist nun BETA ;-)

Und noch meine verbesserte config, schön mi Rollo Bildern in verschiedenen Positionen:

define Rollo_SZ Dooya 0010000000001000110100101100
attr Rollo_SZ IODev sduino
attr Rollo_SZ SignalRepeats 10
attr Rollo_SZ devStateIcon open:fts_shutter_1w_0 0:fts_shutter_1w_0 10:fts_shutter_1w_10 20:fts_shutter_1w_20 30:fts_shutter_1w_30 40:fts_shutter_1w_40 50:fts_shutter_1w_50 60:fts_shutter_1w_60 70:fts_shutter_1w_70 80:fts_shutter_1w_80 90:fts_shutter_1w_90 100:fts_shutter_1w_100 closed:fts_shutter_1w_100
attr Rollo_SZ drive-down-time-to-100 24
attr Rollo_SZ drive-down-time-to-close 27
attr Rollo_SZ drive-up-time-to-100 4
attr Rollo_SZ drive-up-time-to-open 29
attr Rollo_SZ eventMap on:Ab off:Auf stop:Stop
attr Rollo_SZ room Rollos
attr Rollo_SZ verbose 0
attr Rollo_SZ webCmd Ab:Auf:Stop:pos

Raspberry 2x PiB, 2x Pi2, 2x Pi3, 2xPi0, CUL, HM-LC-DIM1T-FM, LW12FC, Intertechno Funksteckdosen, OSMC, Viessmann Heizungssteuerung, eigene Photovoltaik Anbindung ( Effekta ), eigener "Powermeter" (3 x LED, 1 x Ferraris), AVR Steuerung, IR, Harmony Hub, SIGNALduino433/868, Dooya Rolladensteuerung...

Jarnsen

#17
Hallo darkmission


Zitat von: darkmission am 10 März 2016, 21:00:16



1.)
Was mich jetzt noch locken würde, wäre die Kommunikation mit der FB von Dooya/Nobily etc. Das ist dann mein nächstes TODO. Man könnte dann feststellen ob jemand mit der FB das Rollo verändert hat, da sonst die Positionsangaben im FHEM nicht stimmen.


2.)
Das Attribut prog habe ich noch nicht testen können. Sobald die Nobilys wieder liefern können bestelle ich welche und teste das dann mal an einem ausgebauten.


3.)
Dann kann man auch mal über autocreate nachdenken. Im Moment bin ich der Meinung, dass das Format binärcode, wie die im Moment definiert werden, etwas unglücklich ist da die ID mit dem Kanal und der Aktion vermischt vom SIGNALduino geliefert wird.
Muss das nochmal genau recherchieren.



Danke für die Arbeit....

1.)
Der SIGNALduino bekommt es ja mit wenn gesendet wird. Vielleicht stelle ich mir das zu einfach vor, aber im log steht der Befehl dann in Binär zur Verfügung... Die ersten 28Bit sind die ID danach braucht man ja "nur das log zu durchsuchen und dann den Status in FHEM abändern... Wahrscheinlich dann aber nur auf zu und stop.

2.)
Prog habe ich außerhalb vom Modul getestet, also händisch. Deshalb wird es da auch gehen. Kann aber nochmal testen. Habe noch nen ausgebauten Motor rumliegen.


3.)
Es wird auch noch in
ID dezimal
Kanal dezimal
Direktion up down stop learn
ausgewertet
Remotetyp gibt's auch noch


EDIT:

Logauszug

2016.02.14 17:22:17 4: sduino/msg READ: MU;P0=4717;P1=-1577;P2=284;P3=-786;P4=649;P5=-423;D=01232345452345454523232323234545232345234545232323454545232323234523234545232345450123234545234545452323232323454523234523454523232345454523232323452323454523234545012323454523454545232323232345452323452345452323234545452323232345232345454545232;CP=2;
2016.02.14 17:22:17 4: sduino: Fingerprint for MU Protocol id 16 -> Dooya shutter matches, trying to demodulate
2016.02.14 17:22:17 4: sduino: decoded matched MU Protocol id 16 dmsg u16#370658E133 length 40
2016.02.14 17:22:17 4: SIGNALduino_unknown incomming msg: u16#370658E133
2016.02.14 17:22:17 4: SIGNALduino_unknown rawData: 370658E133
2016.02.14 17:22:17 4: SIGNALduino_unknown Protocol: 16
2016.02.14 17:22:17 4: SIGNALduino_unknown converted to bits: 0011011100000110010110001110000100110011
2016.02.14 17:22:17 4: SIGNALduino_unknown / shutter Dooya 0011011100000110010110001110000100110011 received
2016.02.14 17:22:17 4: 00110111000001100101100 1110 0001 0011 0011
2016.02.14 17:22:17 4: SIGNALduino_unknown found shutter from Dooya. id=3606104, remotetype=14,  channel=1, direction=down, all_shutters=false


Jarnsen
1 x RPi2,
1 x nanoCUL433, 1 x nanoCUL868, 1 x SIGNALduino433
Sonos/SonosSpeak, Homebridge, 2 x Enigma2, 10 x Nobily Rollläden, 3 x Intertechno Steckdosen
Pushover, Abfallerinnerung, MySensors, 7 x Max!

darkmission

So, Folgendes wäre dann soweit fertig:
autocreate, Parse (einkommende Notify) sofern das SIGNALduino das weiterleitet, so ca. jedes 4 Paket. Da ist noch Luft nach oben.
Schönheitsreparaturen, V 1.0 ...!!

Anbei das Modul und, wenn Du es testen möchtest meine 00_SIGNALduino.pm. Die musste ich anpassen, damit das Dooya benachrichtigt wird. Dazu habe ich nur die benötigten Anpassungen aus dem dev-r32 genommen, weil das Modul 00_SIGNALduino.pm grad nicht funktioniert hat.

Kannst Du das 98_Dooya.pm ins GIT packen? Ich weiß nicht wie das geht und habe glaube ich auch keine Berechtigung dazu.
Wenn Du noch die b12 zum flashen brauchst, häng ich auch mal mit dran. Das Paket der Module sollte so  funktionieren.
Raspberry 2x PiB, 2x Pi2, 2x Pi3, 2xPi0, CUL, HM-LC-DIM1T-FM, LW12FC, Intertechno Funksteckdosen, OSMC, Viessmann Heizungssteuerung, eigene Photovoltaik Anbindung ( Effekta ), eigener "Powermeter" (3 x LED, 1 x Ferraris), AVR Steuerung, IR, Harmony Hub, SIGNALduino433/868, Dooya Rolladensteuerung...

darkmission

Raspberry 2x PiB, 2x Pi2, 2x Pi3, 2xPi0, CUL, HM-LC-DIM1T-FM, LW12FC, Intertechno Funksteckdosen, OSMC, Viessmann Heizungssteuerung, eigene Photovoltaik Anbindung ( Effekta ), eigener "Powermeter" (3 x LED, 1 x Ferraris), AVR Steuerung, IR, Harmony Hub, SIGNALduino433/868, Dooya Rolladensteuerung...

Jarnsen

Ok läuft soweit super.

Ein Problem habe ich identifiziert. Wenn ich keinen channal setze sendet er automatisch auf Kanal 1. Wenn ich mit attr channal 1 setze dann sendet das Modul irgendwie falsch.

Log

2016.03.12 19:40:16 3: Dooya_set: handled command stop --> move :stop:  newState :0:
2016.03.12 19:40:17 4: sduino/msg READ: SR;R=10;P0=4800;P1=-1500;P2=600;P3=-300;P4=300;P5=-600;D=0145234545234545454545454545234523234523234523232323452323454545234523452345234523;
2016.03.12 19:40:24 3: SONOS0: Connection accepted from localhost:54964
2016.03.12 19:40:37 3: Dooya_set: handled command stop --> move :stop:  newState :0:
2016.03.12 19:40:37 1: PERL WARNING: Use of uninitialized value $channel in concatenation (.) or string at ./FHEM/98_Dooya.pm line 294.
2016.03.12 19:40:37 1: PERL WARNING: Use of uninitialized value $channel in concatenation (.) or string at ./FHEM/98_Dooya.pm line 306.
2016.03.12 19:40:37 4: sduino/msg READ: SR;R=10;P0=4800;P1=-1500;P2=600;P3=-300;P4=300;P5=-600;D=01452345452345454545454545452345232345232345232323234523234523452345234523;


ModulZeile 290-308

if (   defined( $attr{ $name } )
&& defined( $attr{ $name }{"channel"} ) )
{
$chan = $attr{ $name }{"channel"};
Log GetLogLevel( $name, 4 ),
  "Dooya set channel: $channel for $io->{NAME}";
} else {
$channel = "0001";
Log GetLogLevel( $name, 4 ),
  "Dooya set channel: $channel for $io->{NAME}";
}
my $value = $name ." ". join(" ", @args);

# convert old attribute values to READINGs
my $timestamp = TimeNow();

$bin = uc( $hash->{ID} )
. $channel
. $command;


Da ist irgendwo der Wurm versteckt


Das Problem warum autocreate nicht immer funktioniert liegt an den schlechten Sendern, ich glaube es gibt da zu große Toleranzen bei den Sendern. Angefangen dabei wie oft ein Signal gesendet wird bis hin zur Qualität des Signales. Bzw auch zu unterschiedlich.

Am besten geht bei mir der 1 Kanal Handsender. Danach der 1 und 2 Kanal Wandsender. Überhaupt nicht einlesen oder demodulieren per SIGNALduino ließ sich der 5 Kanal Wandsender.
1 x RPi2,
1 x nanoCUL433, 1 x nanoCUL868, 1 x SIGNALduino433
Sonos/SonosSpeak, Homebridge, 2 x Enigma2, 10 x Nobily Rollläden, 3 x Intertechno Steckdosen
Pushover, Abfallerinnerung, MySensors, 7 x Max!

j.gerster

Guten abend zusammen,

leider tut sich bei mir garnichts. Wenn ich auf einen Button klicke dann steht zwar was in der log, aber den rolladen interessiert das nicht wirklich =/


liebe grüße
Jan

Jarnsen

Woher hast du die ID für das Rollo?? Ausgelesen? Angelernt??


Gesendet von iPhone mit Tapatalk
1 x RPi2,
1 x nanoCUL433, 1 x nanoCUL868, 1 x SIGNALduino433
Sonos/SonosSpeak, Homebridge, 2 x Enigma2, 10 x Nobily Rollläden, 3 x Intertechno Steckdosen
Pushover, Abfallerinnerung, MySensors, 7 x Max!

j.gerster

ich dachte mir doch die Sache hat einen Haken. Reicht es nicht wenn man auf der Fernbedienung p2 (Anlernen) 2x drückt und dann set prog?

hab ich das vollkommen falsch interpretiert?

Jarnsen

Was hat du für ne Fernbedienung??? Mach mal n Bild... Du kannst auch per autocreate anlernen.... Was willst du??? In FHEM die selbe ID haben wie deine Fernbedienung??? Dann musst du sie auslesen... Wenn nich.... Rollo vom Strom trennen... Einstecken... Pieep... 2xprog in FHEM....


Gesendet von iPhone mit Tapatalk
1 x RPi2,
1 x nanoCUL433, 1 x nanoCUL868, 1 x SIGNALduino433
Sonos/SonosSpeak, Homebridge, 2 x Enigma2, 10 x Nobily Rollläden, 3 x Intertechno Steckdosen
Pushover, Abfallerinnerung, MySensors, 7 x Max!

Jarnsen


Zitat von: j.gerster am 17 März 2016, 21:28:55
ich dachte mir doch die Sache hat einen Haken. Reicht es nicht wenn man auf der Fernbedienung p2 (Anlernen) 2x drückt und dann set prog?

hab ich das vollkommen falsch interpretiert?

FHEM ist quasi eine leistungsgesteigerte Fernbedienung...


Gesendet von iPhone mit Tapatalk
1 x RPi2,
1 x nanoCUL433, 1 x nanoCUL868, 1 x SIGNALduino433
Sonos/SonosSpeak, Homebridge, 2 x Enigma2, 10 x Nobily Rollläden, 3 x Intertechno Steckdosen
Pushover, Abfallerinnerung, MySensors, 7 x Max!

j.gerster

Im Anhang sind mal die Bilder der Fernbedienung.

Was mich allerdings eher gestört hat:

Bei euch in der log steht immer sduino/msg,
Das erscheint bei mir in keiner Zeile.

Dazu muss ich sagen das ich auf dem Gebiet fhem ein absoluter noob bin ;)

Ich dachte ich kann den fhem anlernen wie eine zweite Fernbedienung, also quasi wie in meiner Anleitung beschrieben zwei mal drücken und danach in fhem set prog

Jarnsen

Dieses Model kenn ich nicht... Deaktiviere mal im SIGNALduino mc und ms... Oben bei set... Welche modulversion benutzt du??


Gesendet von iPhone mit Tapatalk
1 x RPi2,
1 x nanoCUL433, 1 x nanoCUL868, 1 x SIGNALduino433
Sonos/SonosSpeak, Homebridge, 2 x Enigma2, 10 x Nobily Rollläden, 3 x Intertechno Steckdosen
Pushover, Abfallerinnerung, MySensors, 7 x Max!

j.gerster

die modulversion die darkmission zuletzt gepostet hat

ich habe beides deaktiviert, hat leider nichts verändert.

welche firmwareversion soll ich für den nano verwenden? liegt es vielleicht daran?

Jarnsen

1 x RPi2,
1 x nanoCUL433, 1 x nanoCUL868, 1 x SIGNALduino433
Sonos/SonosSpeak, Homebridge, 2 x Enigma2, 10 x Nobily Rollläden, 3 x Intertechno Steckdosen
Pushover, Abfallerinnerung, MySensors, 7 x Max!