Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Entwicklung #1

Open
HomeAutoUser opened this issue Jan 31, 2019 · 205 comments
Open

Entwicklung #1

HomeAutoUser opened this issue Jan 31, 2019 · 205 comments

Comments

@HomeAutoUser
Copy link
Collaborator

HomeAutoUser commented Jan 31, 2019

Brainstorming...

@bismosa
Copy link
Collaborator

bismosa commented Feb 1, 2019

Guten Morgen!
Darf ich fragen warum du das nun als privates Repo erstellt hast?
Habe ich etwas falsch gemacht? Oder was falsches geschrieben?

Schade nur, dass unsere bisherige Diskussion damit weg ist(?)

Gruß
Bismosa

[edit]
Habe gerade gesehen, dass du den KeeLoq_NLF rausgenommen hast? Der ist doch eigentlich öffentlich?
Hier sind die Routinen von Microchip direkt beschrieben:
http://read.pudn.com/downloads153/sourcecode/middleware/669769/keeloq%20-C_DECRYPT/91041a_c.pdf

Hier wird dazu auch einiges geschrieben (muss aber zugeben, dass ich kein Wort verstehe :-) )
https://www.emsec.ruhr-uni-bochum.de/media/crypto/attachments/files/2011/03/africacrypt2009_keeloq.pdf

The Non-Linear Function While the NLF could also be realized by means
of Boolean functions, performing table-look-ups as described in the following is
common practice. Defining a look-up table by the hexadecimal constant LUT =
0x3A5C742E, its j-th bit is equivalent to one output bit OUT of the non-linear
function NLF(x4,x3,x2,x1,x0). The index j ∈ {0, 1,... , 31} thereby equals the
decimal representation of the input bits x4 to x0, i.e., j = 24
· x4 + 23
· x3 +
2
2
· x2 + 21
· x1 + 20
· x0. The implementation of the NLF can be crucial for the
susceptibility to SPA, as will be shown in Sect. 5.

[/edit]

@gandi1791
Copy link
Collaborator

Servus beinand,

mir fehlt nun auch die Historie. :-(
Ich habe zum Glück die Mailbenachrichtigungen.
Was ist/war der Grund warum der alte Faden weg ist?

Ich habe nun heute das SignalDuino Modul upgedated und die FW des CUL upgedated.
Da ich einen MiniCul habe, ist die aktuellste Version diese hier: "SIGNALduino_miniCUL_3321rc5.hex".

In der User Info steht bei einem meiner Jaros: messages can be received and send!
Sollte das nun auch gehen, oder noch nicht?
Irgendwie kann ich Euren teils extrem tiefen Gesprächen nicht folgen.
Ich hatte nur in dem Ursprungsfaden gelesen (Ralf9):

Mit meiner V 3.3.2.1-rc8 Firmware sollte es jetzt schon funktionieren,

Ich gehe mal davon aus, dass der MinuCul noch auf die RC8 warten muss, richtig?

@gandi1791
Copy link
Collaborator

Jetzt wird es spannend...
Ich glaube, so ganz passt das noch nicht mit dem neuen Setup.

Habe eine andere (noch nicht benutzte) FB gedrückt und bekomme nun folgendes Device angelegt:

define SIGNALduino_unknown_87 SIGNALduino_un SIGNALduino_unknown_87
attr SIGNALduino_unknown_87 IODev SignalDuinoV1
attr SIGNALduino_unknown_87 room SIGNALduino_un
attr SIGNALduino_unknown_87 stateFormat {ReadingsVal('SIGNALduino_unknown_87', 'state', '').' | '.ReadingsTimestamp('SIGNALduino_unknown_87', 'state', '-');;}

@HomeAutoUser
Copy link
Collaborator Author

HomeAutoUser commented Feb 1, 2019

Hallo,
da die rechtliche Seite gesehen werden muss und wackelig ist, so habe ich einen Cut gemacht. Es geht um die Funktionalität und nicht die „Verbreitung“ von eventuellen Schlüsseln welche dafür gedacht sind, nur vom Hersteller genutzt zu werden.

Wer sich damit beschäftigt findet Schlüssel um das Modul zu nutzen. Aus Sicherheit und Rücksichtnahme entschloss ich mich dann den Schritt zu gehen.

Keines falls ist es etwas persönliches! Es dient zur Sicherheit aller und das man nicht ausversehen etwas verbreitet.

Wenn ihr die Schlüssel eingebt, dann gibt es keine Einschränkung. Fest verankert ist nur sehr wackelig.

... anderenfalls Ordnung und restart tut gut :)

Das unbekannte Gerät kann ich nicht nachvollziehen. Was ist da anders?

Edit: u87 ... Geräte werden angelegt wenn meine Zuordnung zu Modulen erfolgt. Hast du das Modul Signalduino geupdatet?

@gandi1791
Copy link
Collaborator

gandi1791 commented Feb 1, 2019

Das unbekannte Gerät kann ich nicht nachvollziehen. Was ist da anders?

Edit: Es wird nicht als Jaro Gerät erkannt :-(

Edit: u87 ... Geräte werden angelegt wenn meine Zuordnung zu Modulen erfolgt. Hast du das Modul Signalduino geupdatet?

Ja, ich habe das Modul auf v3.3.3-dev upgedated.
War das ein Fehler? :-(

Ist dann der KeeLoq_NLF zukünftig als Attribute drin zum selber Setzen?

@HomeAutoUser
Copy link
Collaborator Author

@gandi1791

Ja, ich habe das Modul auf v3.3.3-dev upgedated.
War das ein Fehler? :-(

Nein war es nicht. Das es kann passieren wenn ein Modul in der Entwicklung ist, das man somit ausversehen sich die Änderungen zurück schreibt.

Du musst

  1. in der Hash Datei bei der ID 87
			preamble			=> 'P87#',				# prepend to converted message
			clientmodule	=> 'SD_Jaro',

eintragen
2) in der 00_SIGNALduino.pm unter
my $clientsSIGNALduino = ":IT:" ......
."SD_Jaro:"

und unter

my %matchListSIGNALduino = (

"28:SD_Jaro" => '^P87#.*',

hinzufügen.

@gandi1791
Copy link
Collaborator

@HomeAutoUser
Danke für die Erklärung.
Mache ich dann heute Abend.

@bismosa
Copy link
Collaborator

bismosa commented Feb 1, 2019

Hallo,

danke für die Erklärung. Es war ja auch eine Version dazwischen, wo versehentlich die Keys enthalten waren.
Hast du den Diskussionsfaden noch? Gerade die To-Do Liste und meine letzten Kommentare....das wäre Schade.
Ich bin unterwegs. Melde mich frühestens Sonntag Abend wieder....
Gruß
Bismosa

@gandi1791
Copy link
Collaborator

So, SDuino läuft wieder.
Danke nochmal.

Die FB wird wieder gelesen.
Ist denn nun mit den Keys das Senden jetzt möglich?
Dann würde ich morgen mal einen Motor neu anlernen.

Soll ich die Anleitung noch ins Englische übersetzen?

@meier81
Copy link

meier81 commented Feb 2, 2019

Hallo und guten Morgen,
kann mir von euch mal jemand helfen, habe da irgendwo noch ein Problem. Habe das aktuelle Modul 14_SD_Jaro.pm von gestern benutzt und wie folgt konfiguriert:

define Jaro SD_Jaro 48226 sduino
attr Jaro Channels 1
attr Jaro IODev sduino
attr Jaro KeeLoq_NLF 0x3XXXXXXE
attr Jaro MasterLSB 0x1XXXXXX5
attr Jaro MasterMSB 0x2XXXXXXb
attr Jaro Repeats 3
attr Jaro Serial_send 12345600
attr Jaro ShowLearn 1
attr Jaro UI Mehrzeilig

Signalduino habe ich die Version 3.3.2.1-rc8 SIGNALduino cc1101, und die Version des FHEM-Moduls 3.3.3-dev_30.12.

Wenn ich nun die Rollläden mit der FErnbedienung fahre bekomme ich im FHEM-Log
2019.02.01 20:02:06 3: sduino: Unknown code u40#DEEFF7385F7FC, help me!
2019.02.01 20:02:06 3: sduino: Unknown code u40#DDFEE70BEFF8, help me!

Vielleicht kann mir da ja jemand helfen. Gruß Markus

@HomeAutoUser
Copy link
Collaborator Author

@meier81 guten Tag,
die Lösung von dir ist hier #1 (comment).
Du musst maximal noch das development auskommentieren in der hash Datei.

Eine Nutzung zum senden ist bisher noch nicht möglich, da eine Anpassung in der FW erst noch integriert werden muss.

MfG

@bismosa
Copy link
Collaborator

bismosa commented Feb 4, 2019

Hallo zusammen!

@meier81 Hallo Markus! Willkommen im Team!

Ich habe nun die neue Version probiert. Hier "hagelt" es allerdings noch ein paar PERL-Fehler:

2019.02.03 19:44:54 1: PERL WARNING: Argument "0x3XXXXXXE" isn't numeric in right bitshift (>>) at ./FHEM/14_SD_Jaro.pm line 540.
2019.02.03 19:44:54 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/00_SIGNALduino.pm line 821.
(Unkenntlich gemacht)
2019.02.03 21:00:02 3: SIGNALduino: SD_Jaro_Parse device with rawData=53978F08A000759400
2019.02.03 21:00:02 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/14_SD_Jaro.pm line 635, <GEN103> line 7252.
2019.02.04 08:30:01 3: SIGNALduino: SD_Jaro_Parse device with rawData=E4C8A17EA000759100
2019.02.04 08:30:01 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/14_SD_Jaro.pm line 635, <GEN103> line 9745.

@HomeAutoUser
Verstehe ich es jetzt also richtig, dass durch den Neustart die letzte Diskussion vollständig verschollen ist? (Nein...nicht vollständig...das Internet vergisst nichts...) Aber zumindest so nicht mehr verfügbar ist?
Ich habe jetzt über githubarchive und der BigQuery API meine letzten Kommentare wiedergefunden:


Set-Commands:

Learn und UpDown als Gruppe macht eigentlich keinen Sinn. Das wird ja nur bei einzelnen Kanälen gemacht.

Das gleiche gilt auch für Gruppensteuernug. Hier braucht es auch weder learn noch UpDown...also könnten hier auch die Symbole direkt ausgeblendet bzw. gar nicht erstellt werden

ERLEDIGT! Danke :-)


Ich kann es gerade nicht testen...aber das Verhalten nach dem Erstellen des Devices ist nun:
UI = Mehrzeilig
Channels = 1

Ändert sich das, wenn mehrere Kanäle empfangen worden sind?

Ich glaube wir hatten mal darüber gesprochen, ob wir ohne "Serial_Send" nicht UI -> keine und sobald Senden möglich ist erst die UI anzeigen (?)

Set ist ja auch erst ab dann möglich...

Ich könnte mir vorstellen, dass viele es übersehen, dass 16 Kanäle gesteuert werden können. Wenn "Kompaktdarstellung" würde ich auf UI Einzeilig gehen...oder dann alle (?)

Kann aber auch sein, dass wir das schon mal anders besprochen hatten...


Diese sets machen noch Schwierigkeiten:
set jaro down gruppe
Resultiert in:
ERROR: channel gruppe is not support! (check2 failed)

set jaro down 1,2,3,gruppe
Resultiert in:
ERROR: your command down is not support! (not in list)

ERLEDIGT! Danke :-)


Bei folgenden Attributen:

ChannelFixed | ch3
Channels | 16 

Habe ich nur set-commands für ch3. D.h. die angezeigten Commands sind nicht gültig.
command chX is not support! (not in list)


ShowIcons
Anstelle der Beschriftung Icons anzeigen. (Standard 0)

Ist derzeit Standard "1"...finde ich auch gut so :-)


DOKU: (Ist ja auch schon ein guter Stand!

ChannelFixed
Auswahl des fix eingestellten Kanals.

Greift nur, wenn UI = Einzeilig

Repeats
Text ...

ERLEDIGT! Danke :-)

Wenn die Empfänger nicht immer reagieren, kann die Anzahl der Sendewiederholungen erhöht werden.
Beispiel: define <NAME> SD_Jaro 28

28 ist ja zu "kurz". Beispiel 12345600 wäre vielleicht passender (?)
ERLEDIGT! Danke :-)

Serial_send

Eine 8-stellige Serialnummer zum Senden. Sie MUSS eindeutig im ganzen System sein. OHNE Attribut Serial_send erhält der User keine Setlist --> nur Empfang möglich!

Beispiel: 123456

123456 ist nicht 8-Stellig :-) Besser die funktionierende "12345600" benutzen.
ERLEDIGT! Danke :-)


user_info | messages can be received!
user_modus | limited_functions

Muss das auch in die Commandref? Eigentlich fehlt eine Beschreibung, was "limited functions" nun bedeutet. (Ich habe noch keine "Serial_send" gesetzt).


Serial_send
Bist Du hier jetzt eigentlich schon schlauer, was hier "erlaubt" ist?

Ich hatte oben ja schonmal geschrieben:

10153984 = 9AF000
13602816 = CF9000
12345600 = BC6100

Also müsste die Umwandlung in Hex immer mit "00" am Ende sein (?)



Und der Vollständigkeit halber noch mein letzter Kommentar:

Huhu,
ich kann es ja nicht lassen:

Wir könnten ja auch eine Serial_send selbst festlegen. Einfach die nächste Möglichkeit...das jemand dieses als FB hat ist ja sehr unwahrscheinlich.

Beispiele:

FB (Dez) Hex Hex next Dez
10153984 9AF000 9AF100 10154240
13602816 CF9000 CF9100 13603072
12345600 BC6100 BC6200 12345856

Also zu den Dezimal immer 256 addieren...dann könnte das gut klappen ;-)
Was meinst Du?

Alternativ (wenn meine Theorie stimmt) könnte man auch die Eingabe des Sendekanals in Dezimal 5-Stellig machen. Dann kann man bei dem Hex-Wert davon noch "00" hinzufügen und müsste auch immer gültige Werte erhalten (?)

Dezimal | Hex | Hex+"00" | Dez

-- | -- | -- | --
10000 | 2710 | 271000 | 2560000
10001 | 2711 | 271100 | 2560256
10002 | 2712 | 271200 | 2560512
10003 | 2713 | 271300 | 2560768
10004 | 2714 | 271400 | 2561024
10005 | 2715 | 271500 | 2561280
10006 | 2716 | 271600 | 2561536
10007 | 2717 | 271700 | 2561792
10008 | 2718 | 271800 | 2562048
10009 | 2719 | 271900 | 2562304
10010 | 271A | 271A00 | 2562560
10011 | 271B | 271B00 | 2562816
10012 | 271C | 271C00 | 2563072
10013 | 271D | 271D00 | 2563328
10014 | 271E | 271E00 | 2563584
10015 | 271F | 271F00 | 2563840
10016 | 2720 | 272000 | 2564096


Noch eine Idee:
Wenn man in FHEM auf der Raumseite ist, hat man keinen Indikator, dass etwas empfangen wurde.
(Ich weiß auch nicht, ob man das benötigt...)
Wie wäre es, wenn man nach dem Empfang die zuletzt empfangenen Befehl durch Fettschrift bzw. anders hinterlegtes Symbol darstellt?

Würdet ihr so etwas benötigen?


Gruß
Bismosa

@HomeAutoUser
Copy link
Collaborator Author

Hallo @bismosa,

  1. PerlWarning muss ich am Rechner nachvollziehen.

  2. ChannelFix, entweder ich habe einen Kanal fest oder du verstehst etwas anderes darunter. Wenn ich nur einem Fest senden möchte, so benötige ich den Rest nicht.

  3. Status Limited unsw. Können wir in die Doku übernehmen vollständigshalber.

  4. Serial_send immer 00 enden. Muss es nicht, weil im Code die folgenden Channels „drangehangen“ werden.

  5. Serial_send automatisch setzen nein. Der User sollte es selbst bestimmen können weil du nicht jedes Nutzungsverhalten kennst.

  6. Raumseite etwas darstellen beim Empfang. Das kann jeder User selbst mit stateformat.

Resultierend Punkt 4/5/6 ist somit abgehakt ;)

@bismosa
Copy link
Collaborator

bismosa commented Feb 4, 2019

Hallo,

da muss ich leider etwas wiedersprechen:

ChannelFix, entweder ich habe einen Kanal fest oder du verstehst etwas anderes darunter. Wenn ich nur einem Fest senden möchte, so benötige ich den Rest nicht.

Nein, das bezieht sich auf die Einstellung:

ChannelFixed | ch3
Channels | 16

Dann werden alle 16 Channels angezeigt...aber das Attribut "ChannelFixed" verhindert, dass andere Kanäle bedient werden können.

Serial_send immer 00 enden. Muss es nicht, weil im Code die folgenden Channels „drangehangen“ werden.

Das muss (wenn das Senden funktioniert) getestet werden. Soweit ich es von den anderen Projekten kenne, funktioniert es nicht vernünftig, wenn es nicht mit "00" endet.

Serial_send automatisch setzen nein. Der User sollte es selbst bestimmen können weil du nicht jedes Nutzungsverhalten kennst.

Können wir ja nochmal diskutieren, wenn wir wissen, ob jede funktioniert. Mir ging es auch nicht um das feste setzen, sondern darum dem User einen Vorschlag (änderbar) zu machen...

Das kann jeder User selbst mit stateformat.

Ich glaube nicht (ich habe es jetzt aber nicht geprüft). Da wir hier ja die Bedienung darstellen (?)

Gruß
Bismosa

@HomeAutoUser
Copy link
Collaborator Author

@ bismosa

Ich glaube nicht (ich habe es jetzt aber nicht geprüft). Da wir hier ja die Bedienung darstellen (?)

Setze den stateformat auf ein Reading oder den State und hänge die Zeit dran :) so siehst du im Raum was passiert.

ChannelFixed

Die Verhinderung der Ansteuerung ist ggf und du siehst die Channels im Reading letzter Zustand. Ich kann dir absolut nicht folgen. Wenn ich was fest (fix) mache, reicht es mir den Wert zu sehen wenn ich eh die anderen nicht steuern kann. Die Icon siehst du nur nicht aber die letzten Readings solltest du noch sehen.

@bismosa
Copy link
Collaborator

bismosa commented Feb 4, 2019

Hallo!
Bin jetzt erst am Rechner und konnte das Testen:

Setze den stateformat auf ein Reading oder den State und hänge die Zeit dran :) so siehst du im Raum was passiert.

Jup. Das geht aber nur, wenn UI = aus

ChannelFixed | ch3
Channels | 16

Ich glaube ich habe das schlecht erklärt:
Mir geht es nur darum, wenn 16 Channels UND ChannelFixed (das ja in dem Moment ignoriert wird) gleichzeitig bei UI = Mehrzeilig aktiv ist, sehe ich die komplette UI (Alle 16 Kanäle) aber kann nur den noch gesetzten "ChannelFixed" bedienen.
Also eigentlich nur eine "Idiotensperre", wenn man vergisst dieses Attribut wieder zu entfernen...


Mir ist gerade aufgefallen, das noch irgendwas mit dem Decodieren nicht mehr stimmt. Wenn ich Kanal 10 STOP betätige:

2019.02.04 20:25:32 3: SIGNALduino: SD_Jaro_Parse device with rawData=C6DDA9BD9000F59240
2019.02.04 20:25:32 5: ######## DEBUG PARSE - START ########
2019.02.04 20:25:32 5: SIGNALduino: SD_Jaro_Parse - RAWMSG = 
2019.02.04 20:25:32 5: SIGNALduino: SD_Jaro_Parse - bitData = 110001101101110110101001101111011001000000000000111101011001001001000000

2019.02.04 20:25:32 5: SIGNALduino: SD_Jaro_Parse                                 encoded     <- | ->     decrypts
2019.02.04 20:25:32 5: SIGNALduino: SD_Jaro_Parse             Grp 0-7 |digitS/N|      counter    | ch |          serial        | bt |Grp 8-15
2019.02.04 20:25:32 5: SIGNALduino: SD_Jaro_Parse - bitData = 11000110 11011101 10101001 10111101 1001 000000000000111101011001 0010 01000000
2019.02.04 20:25:32 5: SIGNALduino: SD_Jaro_Parse - bitData = |->     must be calculated!     <-| 1001 100110101111000000000000 0100 00000010
2019.02.04 20:25:32 5: SIGNALduino: SD_Jaro_Parse - group_value_text 8-15 (1)            = 10

2019.02.04 20:25:32 5: ######## DEBUG PARSE - for LSB & MSB Keys ########
2019.02.04 20:25:32 5: SIGNALduino: SD_Jaro_Parse - HopCode                              = 3180706659
2019.02.04 20:25:32 5: SIGNALduino: SD_Jaro_Parse - decrypts (1)                         = 699334665
2019.02.04 20:25:32 5: SIGNALduino: SD_Jaro_Parse - decrypts (2)                         = 1773076489
2019.02.04 20:25:32 5: SIGNALduino: SD_Jaro_Parse - rx_device_key_lsb                    = 875375598
2019.02.04 20:25:32 5: SIGNALduino: SD_Jaro_Parse - rx_device_key_msb                    = 1949117422
2019.02.04 20:25:32 5: SIGNALduino: SD_Jaro_Parse - Decoded (HopCode,MSB,LSB)            = 3797329056
2019.02.04 20:25:32 5: SIGNALduino: SD_Jaro_Parse - Decoded (bin)                        = 11100010010101101010010010100000

2019.02.04 20:25:32 5: SIGNALduino: SD_Jaro_Parse                                          Grp 0-7 |digitS/N|    counter
2019.02.04 20:25:32 5: SIGNALduino: SD_Jaro_Parse - Decoded (bin split)                  = 11100010 01010110 1010010010100000

2019.02.04 20:25:32 5: ######## DEBUG only with LSB & MSB Keys ########
2019.02.04 20:25:32 5: SIGNALduino: SD_Jaro_Parse - channelpart1 (group 0-7)             = 11100010
2019.02.04 20:25:32 5: SIGNALduino: SD_Jaro_Parse - group_value_text 0-7  (2)            = 2,6,7,8
2019.02.04 20:25:32 5: SIGNALduino: SD_Jaro_Parse - group_value_text 0-15 (3)            = 2,6,7,8,10
2019.02.04 20:25:32 5: SIGNALduino: SD_Jaro_Parse - last_digits (bin)                    = 01010110 (only 4 bits 0110 = decrypts ch reversed 1001)
2019.02.04 20:25:32 5: SIGNALduino: SD_Jaro_Parse - last_digits (channel from encoding)  = 7
2019.02.04 20:25:32 5: SIGNALduino: SD_Jaro_Parse - countervalue (receive)               = 42144

2019.02.04 20:25:32 5: ######## DEBUG without LSB & MSB Keys ########
2019.02.04 20:25:32 5: SIGNALduino: SD_Jaro_Parse - decrypts button                      = stop
2019.02.04 20:25:32 5: SIGNALduino: SD_Jaro_Parse - decrypts ch + serial                 = 162463753 (at each channel changes)
2019.02.04 20:25:32 5: SIGNALduino: SD_Jaro_Parse - decrypts ch + serial (bin)           = 1001101011110000000000001001
2019.02.04 20:25:32 5: SIGNALduino: SD_Jaro_Parse - decrypts serial                      = 10153984 (for each channel)
2019.02.04 20:25:32 5: SIGNALduino: SD_Jaro_Parse - decrypts serial (bin)                = 100110101111000000000000 (for each channel)
2019.02.04 20:25:32 5: SIGNALduino: SD_Jaro_Parse - decrypts channel (from serial | bin) = 1001
2019.02.04 20:25:32 5: SIGNALduino: SD_Jaro_Parse - decrypts channel (from serial)       = 10
2019.02.04 20:25:32 5: SIGNALduino: SD_Jaro_Parse - decrypts channelpart2 (group 8-15)   = 00000010
2019.02.04 20:25:32 5: SIGNALduino: SD_Jaro_Parse - decrypts channel_control             = 2,6,7,8,10
2019.02.04 20:25:32 5: SIGNALduino: SD_Jaro_Parse - user_modus                           = all_functions
2019.02.04 20:25:32 5: SIGNALduino: SD_Jaro_Parse - user_info                            = none
2019.02.04 20:25:32 5: ######## DEBUG END ########

2019.02.04 20:25:33 1: di_Fenster_unknowncode Event: UNKNOWNCODE u40#7244AC84DFFE14DB7C
2019.02.04 20:25:33 3: SIGNALduino: SD_Jaro_Parse device with rawData=C6DDA9BD9000F59240
2019.02.04 20:25:33 5: ######## DEBUG PARSE - START ########
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - RAWMSG = 
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - bitData = 110001101101110110101001101111011001000000000000111101011001001001000000

2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse                                 encoded     <- | ->     decrypts
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse             Grp 0-7 |digitS/N|      counter    | ch |          serial        | bt |Grp 8-15
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - bitData = 11000110 11011101 10101001 10111101 1001 000000000000111101011001 0010 01000000
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - bitData = |->     must be calculated!     <-| 1001 100110101111000000000000 0100 00000010
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - group_value_text 8-15 (1)            = 10

2019.02.04 20:25:33 5: ######## DEBUG PARSE - for LSB & MSB Keys ########
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - HopCode                              = 3180706659
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - decrypts (1)                         = 699334665
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - decrypts (2)                         = 1773076489
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - rx_device_key_lsb                    = 875375598
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - rx_device_key_msb                    = 1949117422
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - Decoded (HopCode,MSB,LSB)            = 3797329056
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - Decoded (bin)                        = 11100010010101101010010010100000

2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse                                          Grp 0-7 |digitS/N|    counter
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - Decoded (bin split)                  = 11100010 01010110 1010010010100000

2019.02.04 20:25:33 5: ######## DEBUG only with LSB & MSB Keys ########
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - channelpart1 (group 0-7)             = 11100010
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - group_value_text 0-7  (2)            = 2,6,7,8
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - group_value_text 0-15 (3)            = 2,6,7,8,10
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - last_digits (bin)                    = 01010110 (only 4 bits 0110 = decrypts ch reversed 1001)
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - last_digits (channel from encoding)  = 7
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - countervalue (receive)               = 42144

2019.02.04 20:25:33 5: ######## DEBUG without LSB & MSB Keys ########
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - decrypts button                      = stop
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - decrypts ch + serial                 = 162463753 (at each channel changes)
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - decrypts ch + serial (bin)           = 1001101011110000000000001001
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - decrypts serial                      = 10153984 (for each channel)
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - decrypts serial (bin)                = 100110101111000000000000 (for each channel)
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - decrypts channel (from serial | bin) = 1001
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - decrypts channel (from serial)       = 10
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - decrypts channelpart2 (group 8-15)   = 00000010
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - decrypts channel_control             = 2,6,7,8,10
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - user_modus                           = all_functions
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - user_info                            = none
2019.02.04 20:25:33 5: ######## DEBUG END ########

2019.02.04 20:25:33 1: di_Fenster_unknowncode Event: UNKNOWNCODE u40#7244AC84DFFE14DB7C
2019.02.04 20:25:33 3: SIGNALduino: SD_Jaro_Parse device with rawData=C6DDA9BD9000F59240
2019.02.04 20:25:33 5: ######## DEBUG PARSE - START ########
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - RAWMSG = 
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - bitData = 110001101101110110101001101111011001000000000000111101011001001001000000

2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse                                 encoded     <- | ->     decrypts
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse             Grp 0-7 |digitS/N|      counter    | ch |          serial        | bt |Grp 8-15
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - bitData = 11000110 11011101 10101001 10111101 1001 000000000000111101011001 0010 01000000
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - bitData = |->     must be calculated!     <-| 1001 100110101111000000000000 0100 00000010
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - group_value_text 8-15 (1)            = 10

2019.02.04 20:25:33 5: ######## DEBUG PARSE - for LSB & MSB Keys ########
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - HopCode                              = 3180706659
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - decrypts (1)                         = 699334665
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - decrypts (2)                         = 1773076489
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - rx_device_key_lsb                    = 875375598
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - rx_device_key_msb                    = 1949117422
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - Decoded (HopCode,MSB,LSB)            = 3797329056
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - Decoded (bin)                        = 11100010010101101010010010100000

2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse                                          Grp 0-7 |digitS/N|    counter
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - Decoded (bin split)                  = 11100010 01010110 1010010010100000

2019.02.04 20:25:33 5: ######## DEBUG only with LSB & MSB Keys ########
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - channelpart1 (group 0-7)             = 11100010
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - group_value_text 0-7  (2)            = 2,6,7,8
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - group_value_text 0-15 (3)            = 2,6,7,8,10
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - last_digits (bin)                    = 01010110 (only 4 bits 0110 = decrypts ch reversed 1001)
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - last_digits (channel from encoding)  = 7
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - countervalue (receive)               = 42144

2019.02.04 20:25:33 5: ######## DEBUG without LSB & MSB Keys ########
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - decrypts button                      = stop
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - decrypts ch + serial                 = 162463753 (at each channel changes)
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - decrypts ch + serial (bin)           = 1001101011110000000000001001
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - decrypts serial                      = 10153984 (for each channel)
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - decrypts serial (bin)                = 100110101111000000000000 (for each channel)
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - decrypts channel (from serial | bin) = 1001
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - decrypts channel (from serial)       = 10
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - decrypts channelpart2 (group 8-15)   = 00000010
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - decrypts channel_control             = 2,6,7,8,10
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - user_modus                           = all_functions
2019.02.04 20:25:33 5: SIGNALduino: SD_Jaro_Parse - user_info                            = none
2019.02.04 20:25:33 5: ######## DEBUG END ########

Eine Gruppe ist definitiv nicht angesteuert. Ich vermute das ist im Zusammenhang mit dem KeeLoq_NLF.

Gruß
Bismosa

@HomeAutoUser
Copy link
Collaborator Author

@bismosa
ich denke fast die PERLWARNINGs waren schon auch vorher drin aber bin mit nicht sicher. Versuche gerad diese hin und her zu testen wodurch diese provoziert werden.

@HomeAutoUser
Copy link
Collaborator Author

@bismosa @gandi1791 @meier81
bitte nun testen.

Ich habe den Fehler ChannelFix auch behoben.
Bitte @bismosa nicht so viel auf einmal, denn sonst werden die Fäden länger und ich weiß garnet so wir anfangen sollen ;-) Eher pö a pö hihi

@bismosa
Copy link
Collaborator

bismosa commented Feb 5, 2019

Huhu!

Bitte @bismosa nicht so viel auf einmal,

Sorry. Wollte nur zeigen, dass ich (wenn ich schon zum Glück nicht zum Programmieren komme) wenigstens versuche ausführlich zu testen...das muss dann auch raus, damit ich das nicht wieder vergesse bzw in meiner Zettelwirtschaft verwurste.
Werde mir aber Mühe geben :-)

Ich komme leider erst morgen wieder zum testen...stay tuned :-)

Gruß
Bismosa

@gandi1791
Copy link
Collaborator

@bismosa @gandi1791 @meier81
bitte nun testen.

Beim Reload gab's diese Meldungen:

Too many arguments for main::SD_Jaro_decrypt at ./FHEM/14_SD_Jaro.pm line 379, near "$name)"
Too many arguments for main::SD_Jaro_decrypt at ./FHEM/14_SD_Jaro.pm line 381, near "$name)"
Too many arguments for main::SD_Jaro_encrypt at ./FHEM/14_SD_Jaro.pm line 387, near "$name)"
Too many arguments for main::SD_Jaro_decrypt at ./FHEM/14_SD_Jaro.pm line 701, near "$name)"
Too many arguments for main::SD_Jaro_decrypt at ./FHEM/14_SD_Jaro.pm line 705, near "$name)"
Too many arguments for main::SD_Jaro_decrypt at ./FHEM/14_SD_Jaro.pm line 709, near "$name)"

Im UI=Einzeilig Modus (ohne ChannelFixed) bekomme ich bei jedem Kanal/jeder Aktion folgende Fehlermeldung links oben angezeigt:
ERROR: your command OptionValue is not support! (not in list)

Sonst passt es von meiner Seite.

@HomeAutoUser
Copy link
Collaborator Author

Hallo, die Fehler kommen nur, weil kein vollständiger Neustart gemacht wird. Teste bitte mal mit FHem restart und dann reload.

Die Commands bei FixChannel versuche ich zu reproduzieren.

@gandi1791
Copy link
Collaborator

Hallo @HomeAutoUser,

Hallo, die Fehler kommen nur, weil kein vollständiger Neustart gemacht wird. Teste bitte mal mit FHem restart und dann reload.

Danke, das half.
Sorry, aber das hier ist meine erste größere Mitarbeit bei einem Projekt wie diesem.
Bisher habe ich FHEM soweit nur genutzt.
MIt den ganzen FHEM Handlings Themen bin ich noch nicht 100% vertraut.
Man möge mir verzeihen :-)

@bismosa
Copy link
Collaborator

bismosa commented Feb 6, 2019

Guten Morgen,

ich habe jetzt wieder getestet. Dabei habe ich noch ein paar PERL Warnings bekommen.

2019.02.06 09:59:35 4: ######## DEBUG SET - START ########
2019.02.06 09:59:35 1: PERL WARNING: Use of uninitialized value $ioname in concatenation (.) or string at ./FHEM/14_SD_Jaro.pm line 278.
2019.02.06 09:59:35 4: : SD_Jaro_Set - cmd=ch1 cmd2=stop
2019.02.06 09:59:35 1: PERL WARNING: Use of uninitialized value $ioname in concatenation (.) or string at ./FHEM/14_SD_Jaro.pm line 289.
2019.02.06 09:59:35 4: : SD_Jaro_Set - v1 -> one channel via setlist | button=stop buttonbits=0100 channel=1
2019.02.06 09:59:36 1: PERL WARNING: Use of uninitialized value $ioname in concatenation (.) or string at ./FHEM/14_SD_Jaro.pm line 393.
2019.02.06 09:59:36 1: PERL WARNING: Use of uninitialized value $ioname in concatenation (.) or string at ./FHEM/14_SD_Jaro.pm line 394.
2019.02.06 09:59:36 1: PERL WARNING: Use of uninitialized value $ioname in concatenation (.) or string at ./FHEM/14_SD_Jaro.pm line 395.
2019.02.06 09:59:36 1: PERL WARNING: Use of uninitialized value $ioname in concatenation (.) or string at ./FHEM/14_SD_Jaro.pm line 396.
2019.02.06 09:59:36 1: PERL WARNING: Use of uninitialized value $ioname in concatenation (.) or string at ./FHEM/14_SD_Jaro.pm line 397.
2019.02.06 09:59:36 1: PERL WARNING: Use of uninitialized value $ioname in concatenation (.) or string at ./FHEM/14_SD_Jaro.pm line 398.
2019.02.06 09:59:36 1: PERL WARNING: Use of uninitialized value $ioname in concatenation (.) or string at ./FHEM/14_SD_Jaro.pm line 399.
2019.02.06 09:59:36 1: PERL WARNING: Use of uninitialized value $ioname in concatenation (.) or string at ./FHEM/14_SD_Jaro.pm line 400.
2019.02.06 09:59:36 1: PERL WARNING: Use of uninitialized value $ioname in concatenation (.) or string at ./FHEM/14_SD_Jaro.pm line 401.
2019.02.06 09:59:36 1: PERL WARNING: Use of uninitialized value $ioname in concatenation (.) or string at ./FHEM/14_SD_Jaro.pm line 402.
2019.02.06 09:59:36 1: PERL WARNING: Use of uninitialized value $ioname in concatenation (.) or string at ./FHEM/14_SD_Jaro.pm line 403.
2019.02.06 09:59:36 1: PERL WARNING: Use of uninitialized value $ioname in concatenation (.) or string at ./FHEM/14_SD_Jaro.pm line 404.
2019.02.06 09:59:36 1: PERL WARNING: Use of uninitialized value $ioname in concatenation (.) or string at ./FHEM/14_SD_Jaro.pm line 417.
2019.02.06 09:59:36 1: PERL WARNING: Use of uninitialized value $ioname in concatenation (.) or string at ./FHEM/14_SD_Jaro.pm line 418.
2019.02.06 09:59:36 1: PERL WARNING: Use of uninitialized value $ioname in concatenation (.) or string at ./FHEM/14_SD_Jaro.pm line 419.
2019.02.06 09:59:36 1: PERL WARNING: Use of uninitialized value $ioname in concatenation (.) or string at ./FHEM/14_SD_Jaro.pm line 420.
2019.02.06 09:59:36 1: PERL WARNING: Use of uninitialized value $ioname in concatenation (.) or string at ./FHEM/14_SD_Jaro.pm line 421.
2019.02.06 09:59:36 4: : SD_Jaro_Set - sendMSG                   = P87#000110100000110001001110110110010000011100101000011000111101001000000000P#R3
2019.02.06 09:59:36 4: ######## DEBUG SET - END ########
2019.02.06 09:59:36 1: PERL WARNING: Use of uninitialized value $ioname in concatenation (.) or string at ./FHEM/14_SD_Jaro.pm line 425.
2019.02.06 09:59:36 3: : jaro set ch1 stop
2019.02.06 09:59:37 4: ######## DEBUG SET - START ########
2019.02.06 09:59:37 4: : SD_Jaro_Set - cmd=ch8 cmd2=stop
2019.02.06 09:59:37 4: : SD_Jaro_Set - v1 -> one channel via setlist | button=stop buttonbits=0100 channel=8
2019.02.06 09:59:37 4: : SD_Jaro_Set - sendMSG                   = P87#011111101111011101011001110001001110011100101000011000111101001000000000P#R3
2019.02.06 09:59:37 4: ######## DEBUG SET - END ########

Dies passiert nur nach einem Neustart und wenn kein IODev gesetzt ist (Habe ich auf meinem Testsystem nicht). Danach erst wird automatisch IODev=1 gesetzt und die Fehler verschwinden.
Vielleicht diese Zeile:
my $ioname = $hash->{IODev}{NAME};
Durch diese ersetzten ?
my $ioname = AttrVal($name, "IODev", "");

Aber eigentlich sollte dieser Fall auch nie (im Echtbetrieb) auftreten...ist auch auf meinem Echtsystem nicht passiert :-)

Gruß
Bismosa

@meier81
Copy link

meier81 commented Feb 6, 2019

Hi Jungs,

kam jetzt heute auch mal zum testen, hab hier eine TDRC08 Fernbedienung, habe mal alles durchgespielt, hoch, stop, runter, Einzel- und Gruppenbefehle, Fernbedienung hat sich auch automatisch angelegt mit der Serial, sieht soweit alles gut aus. Im Log hab ich jetzt erstmal keine Fehlermeldungen, hab eigentlich nur folgende Meldungen (sind natürlich unterschiedlich, aber vom Aufbau alle gleich):
SIGNALduino: SD_Jaro_Parse device with rawData=E21F52C50000A77100

Gibt es ansonsten für mich hier noch was zu testen oder kann ich euch hier noch etwas helfen? Das mit dem senden habe ich jetzt mal noch nicht getestet, mein letzter Stand ist das da noch etwas in der SIGNALduino-Software fehlt.

Muss euch aber vorab echt schon mal ein super Lob aussprechen, echt klasse Arbeit.

Gruß
Markus

@HomeAutoUser
Copy link
Collaborator Author

HomeAutoUser commented Feb 6, 2019

Hallo @ALL :-)
Ich habe soeben mal das modul wieder geupdatet und bitte euch nun das zum testen zu nutzen.

  1. Bitte obacht geben! Erst die alten Devices löschen und dann das neue modul ersetzen.
  2. In der Hash Datei bitte den Name bei der ID 89 anpassen an SD_JARO und ebenso in der 00_SIGNALduino.pm unter my $clientsSIGNALduino bzw. my %matchListSIGNALduino ebenso.

Grund der Änderung, weil ich das Modul groß geschrieben habe weil es nun auch zum Empfang der Roto Devices geeignet ist. (wenn man die Schlüssel finden sollte.... weil es nach dem selben Prinzip arbeitet)

@meier81
SIGNALduino: SD_Jaro_Parse device with rawData=E21F52C50000A77100 die Meldung ist nur eine Ausgabe welche ich auf einen höheren verbose Level setzen werde.

@bismosa
wie hast du den Zustand bekommen ohne IODEV? Das wird IMMER automatisch von FHEM beim Empfang angelegt.

EDIT: @bismosa

Mir ist gerade aufgefallen, das noch irgendwas mit dem Decodieren nicht mehr stimmt. Wenn ich Kanal 10 STOP betätige:

was meinst du damit genau??

@meier81
Copy link

meier81 commented Feb 7, 2019

So,
hab dann mal noch schnell heute morgen vor dem arbeiten gehen das Update gemacht und mal so auf die Husche probiert und getestet, sieht weiterhin alles gut aus, jedenfalls was meine 8-Kanal Fernbedienung betrifft.
Ich finde für´s empfangen sieht die Sache echt gut aus, werde heute Mittag nochmal ein wenig probieren. Was fehlt denn jetzt noch zum senden? Ihr sagtet da müsste noch etwas in der SIGNALduino-Firmware angepasst werden?

Gruß Markus

@bismosa
Copy link
Collaborator

bismosa commented Feb 7, 2019

Huhu!

Wow...das sind aber viele Änderungen :-)
Ich habe nur leider keine Roto-Fernbedienung zum testen...

In der Hash Datei bitte den Name bei der ID 89 anpassen an SD_JARO und ebenso in der 00_SIGNALduino.pm unter my $clientsSIGNALduino bzw. my %matchListSIGNALduino ebenso.

Ich gehe davon aus, das Du die ID87 meinst?
Im Bereich "%matchListSIGNALduino" habe ich bisher noch gar nichts stehen. Was muss da rein?

Leider funktioniert bei mir autocreate nicht mehr. Ich muss nachher nochmal nachschauen, ob ich irgendwo einen Fehler gemacht habe...nach dem manuellen anlegen wird aber problemlos empfangen.


wie hast du den Zustand bekommen ohne IODEV? Das wird IMMER automatisch von FHEM beim Empfang angelegt.

Nö. Ich habe auf meinem Testsystem kein IODEV und habe jetzt gerade frisch (nach Anleitung) das Device erstellt. (define SD_JARO_Device1 SD_JARO 12345678 JaroLift)
Dabei ist das IODEV Optional....und somit kein IODEV vorhanden und die PERL-Warnings sind wieder da. Aber das sollte ja auf einem Normalem System mit IODEV und autocreate dann kein Problem sein (?).


Mir ist gerade aufgefallen, das noch irgendwas mit dem Decodieren nicht mehr stimmt. Wenn ich Kanal 10 STOP betätige:

was meinst du damit genau??

Mir wurde z.B. bei Kanal 10 STOP die Kanäle: 2,6,7,8 und 10 erkannt. Aber es war nur Kanal 10. Ist aber seit den letzten Änderungen wieder ok und ist nicht erneut aufgetreten.


Ich denke, du hast extra zum testen einige Ausgaben noch unter "Verbose 3" drin?

Gruß
Bismosa

@meier81
Copy link

meier81 commented Feb 7, 2019

@bismota
Also autocreate hat bei mir einwandfrei funktioniert, jetzt auch richtig, vorher wurde immer die Fernbedienung in einen Raum Names SD_JARO angelegt, jetzt kommt die Fernbedienung in den Raum der (wenn gesetzt) für autocreate definiert wurde, ist bei mir z.B.
attr autocreate device_room Testbereich->Autocreate

ID meinte er glaube ich auch die ID87, bin ich auch heute morgen beim suchen drüber gestolpert.

Wegen dem IODev frage ich mich aber auch warum du keines hast, das legt er bei mir gleich automatisch mit an. Ich drücke 2-3 Mal auf der Fernbedienung die Tasten und dann habe ich ein neues SD_JARO-Device mit den Attributen IODev und room. Habe es eben nochmals ausprobiert, funktioniert genau wie eben beschrieben.
Ich glaube das könnte bei dir an dem fehlenden Eintrag in der Hash-Datei liegen, siehe hier:
https://github.com/HomeAutoUser/Jaro/issues/1#issuecomment-459753550

Da weiß er wahrscheinlich nicht welchem Modul er das neue Gerät zuordnen soll.

@Ralf9
Copy link

Ralf9 commented Feb 7, 2019

Was fehlt denn jetzt noch zum senden? Ihr sagtet da müsste noch etwas in der SIGNALduino-Firmware angepasst werden?

Es fehlt nichts mehr, Sidey hat es inzwischen angepasst
RFD-FHEM/SIGNALDuino@98c8341

Ihr habt nun 3 Möglichkeiten:

  • Warten bis es eine neue nightly oder 3.3.1 RC11 firmware gibt
  • selber kompilieren
  • meine V 3.3.2.1-rc8 verwenden

@HomeAutoUser

$hash->{Match} = "^P(?:87|88)#.*";

Hast Du vor das Protokoll 88 mit zu integrieren? Dann passt als Modulname SD_Rollo evtl besser

$a[0] = $hash->{READINGS}{DDSelected}{VAL};

Dafür gibt es ReadingsVal

@HomeAutoUser
Copy link
Collaborator Author

HomeAutoUser commented Feb 7, 2019

Hallo @Ralf9

Hast Du vor das Protokoll 88 mit zu integrieren? Dann passt als Modulname SD_Rollo evtl besser

in der jetzigen Fassung des Modules ist Roto mit drin und daher hatte ich damals JARO genommen für JA = JaroLift & RO = Roto :-D Wenn es unbedingt gewünscht ist, dann tausche ich es auch noch gern. Fakt ist, das Modul ist für Devices welches nach dem selbigen Prinzip arbeiten mit Keeloq Schlüsseln. Vorausgesetzt man besitzt die Schlüssel ansonsten kann man nur das "freie" verarbeiten.

EDIT: @Ralf9 wie ist der Stand der jetzigen rekonstruktion des letzten fehlenden Bits? Ist das variabel 0 bzw. 1 oder stur 0? Bei allem hin und her verlor ich den Durchblick.

@HomeAutoUser
Copy link
Collaborator Author

Hallo @D3ltorohd

kannst du diesbezüglich hier bei Jaro mal einen extra Issues eröffnen diesbezüglich?

Wenn ich das richtig verstehe, so benötigst du eine MQTBridge welche die Befehle von dem Modul via MQTT weitergibt?

Grüße Marco

@D3ltorohd
Copy link

Genau, das wäre super. Dann wäre das ganze leichter mit anderer Steuersoftware kombinierbar.

@bismosa
Copy link
Collaborator

bismosa commented May 3, 2019

Hallo,

ich denke das sollte mit einer MQTT-Bridge in FHEM "von Haus aus" bereits funktionieren. Ich selbst nutze das bisher nicht. Hier ist ein Artikel dazu:
https://wiki.fhem.de/wiki/MQTT_Einf%C3%BChrung
Hier die Beschreibung der Bridge:
https://fhem.de/commandref.html#MQTT_GENERIC_BRIDGE

Muss dafür etwas an diesem Modul verändert werden?

Gruß
Bismosa

@D3ltorohd
Copy link

Hm naja, das hatte ich schon gesehen, leider ist das gar nicht so einfach, da pro Rollo eine Bridge zu erstellen. Ich habe mich versucht und es nicht geschafft, nen Kollege von mir der das gleiche mit einem Thermostat erfolgreich hinbekommen hat, bekommt es mit den Rollos auch nicht hin.
Weil das irgendwie alles Gruppiert ist, alles läuft dann über den SD_Keeloq_SN

@HomeAutoUser
Copy link
Collaborator Author

Hallo, nur kurz von mir weil ich noch unterwegs bin. Hätte ja fast die Motivation ein Attribut zu ergänzen wo pro Befehl alles vor mqtt automatisch raus geht. „Grübel“

@bismosa
Copy link
Collaborator

bismosa commented May 3, 2019

Hallo,

ich könnte es mir ja mal anschauen. Ich kann mir nicht vorstellen, dass es nicht geht...es sind ja readings für alle Fälle vorhanden. Ich denke ggf. (da ich noch nicht weiß, wie das wirklich geht) an ein DOIF...
Zeig doch mal, was du bisher hast. Dann könnte ich darauf evtl. aufbauen

Gruß
Bismosa

@D3ltorohd
Copy link

D3ltorohd commented May 4, 2019

Hallo @bismosa
Also mit dem Meier81 zusammen haben wir das probiert Folgendes habe ich in FHEM

  • die Verbindung zum MQTT Broker, steht
  • MQTT Brdige erstellt und die Readings aufgelistet

In OpenHab habe ich hinter mein Thing folgendes gehängt
#[stateTopic="/Jaro_FB/LastAction_Channel_01", commandTopic="Jaro_FB/set", UP="up 1", DOWN="down 1", STOP="stop 1"]

Leider tut sich nichts, in der Log ist auch nichts zu sehen und FHEM scheint nichts zu bekommen.

Hier mal noch nen Screen

@HomeAutoUser
Copy link
Collaborator Author

HomeAutoUser commented May 4, 2019

Hallo,

Versuch mal eines, nutze ein MQTT Client für ein Handy.

Da kannst du testen ob der MQTT sendet bzw was für ein „Verkehr“ ist. Bsp: Apple - MQTTtool

Interessant wäre, Befehle die funktionieren, wie diese aussehen. Es muss ja der Topic stimmen unsw.
Wenn das als Vorlage da ist, so könnte man in das Modul etwas einbinden, das bei einer Bridge, parallel via MQTT etwas abgesetzt wird.

Es kann auch ein Befehl innerhalb des SYstems sein, welcher funktioniert.

@HomeAutoUser
Copy link
Collaborator Author

HomeAutoUser commented May 5, 2019

Guten Abend,
@D3ltorohd, konntest du die Topics mal verifizieren das diese bei dir stimmen ?
MfG

EDIT: @meier81, ich habe die Änderung vollzogen und diese sollte umgehend in der dev-r34 dann aktualisiert sein ;-)

@D3ltorohd
Copy link

@HomeAutoUser ich konnte leider gar nichts verifizieren, weil gar nichts stimmt.

@HomeAutoUser
Copy link
Collaborator Author

@bismosa @ALL,
bitte aufpassen.

Es wurde ein Fix entdeckt RFD-FHEM/RFFHEM#626.
Diesen habe ich behoben und die Funktion noch eingetragen. Wenn das übernommen ist in die dev_r34 Version können wir nun auch Schritt für Schritt die anderen kleinen Dinge mal einbinden.

@bismosa
Copy link
Collaborator

bismosa commented Aug 20, 2019

Hallo!
@HomeAutoUser
Bitte mache unbedingt den Fix: RFD-FHEM/RFFHEM@e9e62a8
und Teile vom Fix: RFD-FHEM/RFFHEM@2a63d61
Rückgängig. Sonst ist UI Einzeilig weiterhin ohne Funktion.

Also um genau zu sein:
Diese Zeile hinzu / wieder aktivieren:
$hash->{FW_summaryFn} = "SD_Keeloq::summaryFn"; # displays html instead of status icon in fhemweb room-view
und diese Zeilen wieder entfernen/deaktivieren:

$hash->{FW_detailFn}	= "SD_Keeloq::summaryFn";
$hash->{FW_addDetailToSummary}	= 1;
$hash->{FW_deviceOverview}			= 1;

Siehe auch #11


Aber mal ne andere Frage zu dem aktuellen Fix:
Was bezweckt diese Zeile genau?
setReadingsVal($hash,"DDSelected",1,FmtDateTime(time()));
DDSelected ist doch nur der gewählte Kanal...wofür wird hier das Datum benötigt?

Gruß
Bismosa

@HomeAutoUser
Copy link
Collaborator Author

@bismosa
Wieso sind mit der jetzigen Version UI einzeilig ohne Funktion?
Wie äußert sich das? Ich habe das UI einzeilig eingestellt und es stürzt nicht ab.

Die Zeilen sollten doch erst rein und nun wieder raus?

setReadingsVal($hash,"DDSelected",1,FmtDateTime(time()));

setzt das Reading DDSelected mit dem Wert 1 auf den Zeitstempel wenn ich das richtig interprätiere.

@bismosa
Copy link
Collaborator

bismosa commented Aug 20, 2019

Hallo!

setzt das Reading DDSelected mit dem Wert 1 auf den Zeitstempel wenn ich das richtig interprätiere.

Aha. Die Funktion kannte ich bisher noch nicht. Ich habe bisher nur setreading benutzt...da macht FHEM den Zeitstempel selbst...und hatte die Zeile falsch interpretiert. Danke für die Erklärung.

Wieso sind mit der jetzigen Version UI einzeilig ohne Funktion?
Wie äußert sich das? Ich habe das UI einzeilig eingestellt und es stürzt nicht ab.

Es funktioniert nur, wenn der DropDown nicht verändert wird. Der HTML Code wird nicht mehr selbstständig (per longpoll) aktualisiert, sondern dies muss selbst gemacht werden, wenn man diesen nicht im FW_summaryFn unterbringt. (Oder der User aktualisiert selbst manuell die Seite)
Sorry, das wusste ich damals nicht und es war mir beim testen nicht aufgefallen. Aufgefallen war dies erst, als du die Issue #11 erstellt hast.

Ich habe schon versucht mich damit zu beschäftigen...habe es aber um ehrlich zu sein noch nicht kapiert, wie man dies lösen kann. Daher die bitte es bis zu einer Lösung wieder rückgängig zu machen...so funktioniert es sonst weniger als vorher (wo es außer der Darstellung ja gut funktioniert hatte)

Gruß
Bismosa

@HomeAutoUser
Copy link
Collaborator Author

Es funktioniert nur, wenn der DropDown nicht verändert wird. Der HTML Code wird nicht mehr selbstständig (per longpoll) aktualisiert, sondern dies muss selbst gemacht werden, wenn man diesen nicht im FW_summaryFn unterbringt. (Oder der User aktualisiert selbst manuell die Seite)
Sorry, das wusste ich damals nicht und es war mir beim testen nicht aufgefallen. Aufgefallen war dies erst, als du die Issue #11 erstellt hast.

Da ich nun mal getestet hatte den Channel zu wechseln und dies auch aktualisiert wurde, so würde mich mal interessieren was du unter nicht funktionieren verstehst. Ich kann in der Raumansicht die Channels wechseln und auch bedienen. Diese werden auch in der Detailansicht aktualiert.

MfG

@bismosa
Copy link
Collaborator

bismosa commented Aug 21, 2019

Hallo,

probiere mal bitte folgendes:

  • UI auf einzeilig
  • Anderen Kanal auswählen (z.B. von Kanal 1 auf Kanal 2)
  • Taste betätigen -> Es wird der vorher eingestellte Kanal gesendet. Nicht der neu eingestellte.

Die Buttons aktualisieren sich also nicht. Erst nach einem Reload der Seite wird der neu eingestellte Kanal gesendet.

Gruß
Bismosa

@HomeAutoUser
Copy link
Collaborator Author

@bismosa ich habe mir es mal soeben kurz angesehen.
Ich habe eine Überlgeung und werde diese mal versuchen im Code anzupassen damit auch dort dann der Channel richtig aktualisiert wird.

Heute nicht mehr :-)

@HomeAutoUser
Copy link
Collaborator Author

Ich werde nun mich erstmal dem UI Problem widmen wenn Einzeilig. Wenn dort ein Haken dran, dann würde ich weiter voranschreiten. Was denkst du @bismosa ?

@bismosa
Copy link
Collaborator

bismosa commented Aug 23, 2019

Hallo!
Der Plan hört sich gut an. :)
Leider bin ich da auch nicht wirklich weiter gekommen. Siehe bitte auch #11
und im FHEM Forum
https://forum.fhem.de/index.php/topic,102944.0.html

Eine Möglichkeit wäre es vielleicht, wenn wir nicht die Buttons mit dem Kanal versehen, sondern diesen dann aus dem Reading verwenden würden. Dann bräuchten wir die Aktualisierung nicht vom HTML-Code.
Ansonsten, wenn wir die Aktualisierung selbst machen müssen...siehe FHEM Forum.
Ich bin da leider nicht weiter gekommen...meine Zeit ist derzeit auch leider etwas knapp. Ich bin im JavaScript nicht so fit...vielleicht fällt dir da ja eine "gute" Lösung ein. :)
Zur Not halt die Änderung wieder Rückgängig machen...und sich später darum kümmern...kommen ja gerade einige "Kleinigkeiten" zusammen...

Gruß
Bismosa

@Paddler21
Copy link

Hallo! Erst mal großes Kompliment für Euere Arbeit und vielen Dank!
Ich wollte mal fragen, worin der Sinn besteht, dass für jede (weitere) Fernbedienung ein weiteres Device angelegt wird. Wäre es nicht sinnvoller, in einem Device alle Serials sämtlicher Fernbedienungen zusammenzufassen? Also praktisch alias serials, sodass alle empfangenen Kommandos den Rollos zugeordnet werden können.
Danke!

@HomeAutoUser
Copy link
Collaborator Author

Hallo @Paddler21,
danke für dein Feedback und gern sind wir bemüht die Wünsche und Erwartungen zu verbesser :-)

Ich wollte mal fragen, worin der Sinn besteht, dass für jede (weitere) Fernbedienung ein weiteres Device angelegt wird.

Der Sinn dahinter ist wiefolgt, das jede Fernbedienung so praktisch 1:1 abgebildet wird als Device in FHEM. Das Prinzip ist analog eines Temperatursensor. Wenn du 2 Sensoren hast, so hast du auch 2 Device in FHEM. Wenn du 2 Fernbedienungen hast, so hast du auch 2 Devices in FHEM.

Zugleich bitte beachten, das das Modul nicht allein nur für JaroLift Motoren entwickelt wurde. Die darin verbaute Technologie (KeeLoq is a registered trademark of Microchip Technology Inc.) haben auch andere Fernbedienungen welche man auch mit dem Modul empfangen kann.

Also praktisch alias serials, sodass alle empfangenen Kommandos den Rollos zugeordnet werden können.

Der Weg ist doch anders rum, du lernst die Rollos mit deiner Fernbedienung an. Die Rollos senden doch nichts. Wenn du mit einer Fernbedienung mehrere Rollos ansteuern möchtest, dann bilde eine Gruppe.

Was möchtest du den Rollos zuordnen?

LG

@Paddler21
Copy link

Es würde mir drum gehen, den Rollozustand zu aktualisieren, wenn Kommandos von anderen, weiteren Fernbedienungen kommen. Ich sehe nicht, wie das mit separaten Devices gehen sollte.

@bismosa
Copy link
Collaborator

bismosa commented Aug 31, 2019

Wie visualisierst du den Zustand? Richtig gut geht dies z.b. mit dem Rollo Modul.
Dann kannst du auch von mehreren devices den Zustand an das Modul übermitteln.

Ich würde auch jeden Sender einzeln erfassen. Ich nutze z.b. zwei Fernbedienungen. Die haben aber eine unterschiedliche Belegung der Rolläden.
Visualisierung und Steuerung erfolgen dann über das Rollo Modul...

Gruß
Bismosa

@Paddler21
Copy link

Ich nutze z.b. zwei Fernbedienungen. Die haben aber eine unterschiedliche Belegung der Rolläden.
Visualisierung und Steuerung erfolgen dann über das Rollo Modul...

Ok, verstanden, besten Dank!

@HomeAutoUser
Copy link
Collaborator Author

@bismosa
hallo,
ich muss mich hier mal wieder einfuchsen um auch Ordnung zu machen :-D Die verschienden Branch, so weiß man ja garnicht mehr wie wo was grins

Das Projekt ruht nicht, es kamen andere Baustellen hinzu welche erstmal beseitigt werden mussten.
Ziel würde sein, das wir einen Stand im Branch Master erhalten, wovon ein Branch pre-release existiert um darin stetz die Entwicklerversion zu haben. Nach einer gewissen Zeit der Funktion ohne Fehler, diese ins Master zu portieren.

Frage:
Was war dein letzter funktionierender Stand welcher getestet werden sollte?

@bismosa
Copy link
Collaborator

bismosa commented Oct 26, 2019

Hallo!
Das habe ich mir schon gedacht. Bin aber derzeit nicht böse drum, da ich ebenfalls ein paar andere Baustellen habe, die erstmal abgearbeitet werden müssen (die nichts mit Programmierung zu tun haben). Leider bin ich da aber noch nicht soweit und habe im Moment nur sehr wenig Zeit...

Der letzte "funktionierende" Stand ist der, der auch veröffentlicht ist. Alles andere waren Beispiele und Versuche (Jeweils mit Link in einer Issue). Da hier ja auch noch einiges offen ist, würde ich diese Stände vermissen, sollten diese gelöscht werden. Ich habe davon keine Kopien gemacht, da das ja alles hier zu finden ist. ;)

Wenn ich es richtig sehe, dann ist ja eigentlich "nur" noch das Problem mit den Sende-Serials und bei UI-Einzeilig offen. Hier würde ich erstmal mit der UI Anfangen. Da hatte ich
010f61a
diesen Vorschlag gemacht. :)

Gruß
Bismosa

@HomeAutoUser
Copy link
Collaborator Author

Gesundes neus 2020 allen.

Nicht wundern, wir sind in Github umgezogen und nun kann man auch ein update via Befehl durchführen. :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

7 participants