Lighting4 - DIP Switch Steckdosen

Begonnen von ext23, 27 Dezember 2012, 15:15:10

Vorheriges Thema - Nächstes Thema

ext23

Willi, das Lighting4 hast du noch nicht direkt umgesetzt oder? Sprich ich muss im Moment noch meine Steckdosen so anpassen, dass ich auf ein Intertechno Code komme richtig?

Kann ich das irgendwie umgehen indem ich direkt eine RAW Nachricht an den RFXtrx433 sende über deine Module?
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

Willi

Zitat von: ext23 schrieb am Do, 27 Dezember 2012 15:15Willi, das Lighting4 hast du noch nicht direkt umgesetzt oder? Sprich ich muss im Moment noch meine Steckdosen so anpassen, dass ich auf ein Intertechno Code komme richtig?

Kann ich das irgendwie umgehen indem ich direkt eine RAW Nachricht an den RFXtrx433 sende über deine Module?
Hallo Daniel,

Lighting4 ist noch nicht umgesetzt. Steht noch auf der TODO-Liste. Ja, bis dahin müßtest Du Intertechno verwenden.

Wollte mir erst mal überlegen wie man die Felder gemäß SDK angibt.

Bevor ich mir etwas überlege: Hast Du das schon eine Idee, wie man das in FHEM beim Empfang und beim Senden aussehen soll?

Wenn Du eine Idee mit Beispiel hast, her damit.

Wenn das klar ist, wird die Umsetzung relativ einfach.

MfG Willi
FHEM@Q600(debian) mit DS9490R (1Wire) | FHEM@Sheevaplug(debian) mit RFXCOM-Receiver(80002), CULv3 & USB-WDE1 | FHEM@odroid mit CULv2 & RFXtrx433

ext23

Das ist nicht einfach, stimmt. Problem ist, man müsste sich irgendwie auf eine Art Steckdose einigen denn auch von den Steckdosen mit dem DIP Switchen gibt es wie meine Versuche gezeigt haben leider sehr unterschiedliche Varianten wie die Eingänge des PT2262 verwendet werden. Aber die gängigste Variante ist diese hier: (Ich hoffe, nicht das sich jetzt 100 Leute melden die was anderes sagen ;-)(//images/smiley_icons/icon_wink.gif)

(http://itse.homeip.net/FHEM_pics/Bituebersicht.png)

Es gibt aber wie gesagt auch Modelle bei denen der Adressen und Taster Bereich abweicht, wie wie ja bei IT auch, da hat der Adressbereich nur 4 Bit (A-P). Oder REV Ritter, da sieht es dann so aus:
(http://itse.homeip.net/FHEM_pics/Ritter.png)

Die beste Variante wäre alle 12 Bit's zu übergeben und das auch noch als Tristate, also High,Low,Float (H,L,F), macht aber kein Sinn weil bestimmte Konstellationen "verboten" sind (Beispiel, nur ein Bit im "Taster" Bereich darf aktiv sein).

Ich würde jetzt mal folgendes vorschlagen
- Methode wie oben beschrieben, sollte man wirklich eine Steckdose haben die anders ist, ab in den Baumarkt ;-)
- 5 Bits für die Gruppe
- 5 Bits für Taster wovon jeweils nur EIN Bit gesetzt werden darf, kein Gruppenschalten möglich
- 2 Bit für an/aus, 10 = AN, 01 = AUS

Das entspricht dann den H&H, Elro und anderen Steckdosen dieser Art. Dimmen wird hier nicht unterstützt (Bitte korrigieren falls das nicht stimmt) Das ganze könnte man dann als "PT2262_V1" benennen. Und falls es doch noch sehr gängige andere Varianten gibt wo bedarf besteht kann man ja noch ein V2 erstellen oder ein V3 ...

Daraus könnte man folgende Parameter ableiten die du in FHEM implementieren könntest:

Parameter 1:
Die 5 Bit der Gruppe als Hex Wert oder Bitweise (was einfacher ist, da braucht der User nur die DIP Switch Positionen übernehmen ohne zu rechnen, im schlimmsten Fall ist ON/OFF der Switche vertauscht, aber das bekommt man ja schnell raus indem man invertiert)

Parameter 2:
Die Taste, das könnte man als Buchstabe lösen, A,B,C,D,E

Parameter 3:
on/off

Was dann so aussehen könnte:
define Steckdose_01 TRX_LIGHT PT2262_V1 10100A light (find ich ja fast am besten)
oder
define Steckdose_01 TRX_LIGHT PT2262_V1 14A light

Laut SDK mag der RFXtrx433 das als 24 Bit haben, also 00 entspricht Low und 01 entspricht Float, da kein TriState benutzt wird ist Float und High identisch, es wird aber nur 01 benutzt.

So die Diskussion ist eröffnet. Ich hab leider vom Programmieren der Module sehr wenig Ahnung was für mich das Abschätzen erschwert wie hoch der Aufwand ist pro Modell eine Typenunterscheidung zu implementieren und ob sowas überhaupt ein Sinn ergibt oder völliger Blödsinn ist (aller PT2262_V1, V2, V3 ...(//images/smiley_icons/icon_wink.gif)

Ferner haben wir immer noch unser Problem mit dem sinnvollen Empfangen der Fernbedienungen, was ja bedingt durch fehlende Unterscheidung zwischen IT und Elro etc. besteht. Also hier finde ich echt die Variante am besten das der RFXtrx433 eine Funktion braucht das ARC Protokoll durch zu winken als RAW und FHEM die Auswertung zu überlassen ;-)

@Willi: Da muss man echt mal ein paar Tage drüber nachdenken, so ganz gefällt mir das auch noch nicht. Aber vielleicht hat ja einer hier noch anderen Ideen.
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

ext23

Wow, Willi, du hast die Mail auch bekommen bezüglich des RFXtrx433... schau dir das mal an, das hört sich gut an.

Ich hab die FW gerade aufgespielt und teste mal ein wenig.

/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)

Willi

Hallo Daniel,

Ich muss zugeben, dass Dein Posting toll aussieht, ich aber nur die Hälfte verstehe. Ich kenne mich halt mit PT2262 und der Codierung der Protokolle nicht aus.

Einfach ist für mich umzusetzen, dass die Raw-Hexbytes übertragen werden.

Wir können beim Senden folgendes setzen:

- 24 Bit für PT2262. Das sind also Werte von 000000 bis FFFFFF
- Pulse timing (16-Bit). Meist wohl 015E

Ganz einfach umzusetzen ist dann folgendes:

define PT_RAWDEVICE TRX_LIGHT PT2262_RAW

Senden der Bitfolge "01 44 03" würde dann wie folgt aussehen:

set PT2262_RAW 010203

bzw. (bei Default Timing)

set PT2262_RAW 010203 5E01

(mit Angabe des Timings)

Mir ist jetzt unklar wie man Deine Logic des PT2262_V1 in den Hexcode des PT2262_RAW konvertiert.
Ich habe keine Probleme dies zu programmieren, muss dies aber vorher irgendwie verstehen.
Alternative dazu wäre, dass ich RAW implementiere und Du den Rest machst.

Ich hatte verstanden, dass es 24-Bit sind, wobei zwei Bits wie folgt definiert sind
up = 00
middle = 01
down = 11

Wie rechnet man "define Steckdose_01 TRX_LIGHT PT2262_V1 10100A light" um in die 24-Bits, die gesendet werden?


MfG Willi
FHEM@Q600(debian) mit DS9490R (1Wire) | FHEM@Sheevaplug(debian) mit RFXCOM-Receiver(80002), CULv3 & USB-WDE1 | FHEM@odroid mit CULv2 & RFXtrx433

Willi

Zitat von: ext23 schrieb am Do, 27 Dezember 2012 22:58Wow, Willi, du hast die Mail auch bekommen bezüglich des RFXtrx433... schau dir das mal an, das hört sich gut an.

Ich hab die FW gerade aufgespielt und teste mal ein wenig.

/Daniel

Ja die Leute von RFXCOM lesen mit und implementieren fleissig, was Du haben willst ....

Mit der neuen Firmware bekommst Du dann die PT2262-Bits unzensiert ohne Decodierung als Bitstrom.
Dann musst Du Dir jetzt überlegen, wass Du damit anfangen willst.....

Die Bits in ein Reading zu schreiben wäre kein Problem. Der Rest, die eigene Kodierung, ist dann die Kür.

MfG Willi
FHEM@Q600(debian) mit DS9490R (1Wire) | FHEM@Sheevaplug(debian) mit RFXCOM-Receiver(80002), CULv3 & USB-WDE1 | FHEM@odroid mit CULv2 & RFXtrx433

ext23

Ja ich hab mich da bestimmt ein bissel blöd ausgedrückt.

Also:

1.
Das was du schreibst mit dem RAW ist super, für mich absolut OK, wenn einer falsche Werte benutzt die gegen das "PT2262 Protokoll" funktioniert die Steckdose eben nicht, also das ist alles OK. Der Rest ist Sache einer guten Doku, damit wird es auch einfach für jeden.

2.
Pulse Timing, daran habe ich gar nicht gedacht, wenn man das mit übergeben kann ist es als "tuning" gut, aber meine Messungen haben den Wert von 350µs bestätigt, aber das anzugeben ist nice to have.

3.
"24 Bit für PT2262. Das sind also Werte von 000000 bis FFFFFF"
Und genau da hakt es bei mir. Die letzten 4 Bits werden bei den "gängigen" Varianten benutzt für ON/OFF. Sprich wenn ich ein on übergebe müssten die letzten 4 Bits angepasst werden, und bei einem off genau dasselbe. Der eigentlich Schaltbefehl ist in diesen 24 Bit also mit drin. Nun kann man ja bei FHEM nicht einfach eine Steckdose 2 mal anlegen wovon eine für aus und die andere für ein ist, das haut ja dann auch mit der Anzeige alles nicht hin. (Oder doch, also ka, vielleicht gibt es ja da auch eine Möglichkeit für, dann wäre es natürlich wirklich universell für alle Typen. Dann hinterlegt man für ein Gerät die 6 Hex zum einschalten und die 6 Hex zum ausschalten, wenn das geht brauchen wir gar nicht weiter drüber nachdenken, das wäre das einfachste.(//images/smiley_icons/icon_wink.gif)

Das umzusetzen ist mit Sicherheit einfach, für dich vermutlich sowieso, aber dann funktioniert die Sache eben wieder nur genau für den Typ von Steckdose. Das ist das was ich versucht habe in meinem Post rüber zu bringen.

Beispiel:
Steckdose DIP-Switch: ON;OFF;ON;OFF;ON;OFF;ON;OFF;OFF;OFF
(rot=Gruppe, grün=Steckdose (A-E)(//images/smiley_icons/icon_wink.gif)

up = 00 = 1
middle = 01 = 0
down = 11 = unbenutzt

Daraus ergibt sich als Bit: 101010100010 (AN) 101010100001 (AUS) (Das entspricht exakt der DIP-Switch Positionen der Steckdose)
In RFXtrx433 Bit Format: 000100010001000101010001 (AN) 000100010001000101010100 (AUS)
In HEX: 111151 (AN) 111154 (AUS)

ZitatJa die Leute von RFXCOM lesen mit und implementieren fleissig, was Du haben willst
Da bin ich jetzt wirklich ein bissel irritiert, damit habe ich nun gar nicht gerechnet dass das so schnell geht, Wahnsinn.

ZitatMit der neuen Firmware bekommst Du dann die PT2262-Bits unzensiert ohne Decodierung als Bitstrom.
Dann musst Du Dir jetzt überlegen, wass Du damit anfangen willst.....
Genau, Bits einlesen, um welches Gerät handelt es sich (IT, ELRO), decodieren...

Gruß 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)

Niko_K

Die Frage hier stellt sich mir gerade wieder.  :D
Ich habe hier ein paar Elro Outdoor-Steckdosen liegen, welche gerade den oben angesprochenen Code eingestellt haben
(so ein Zufall... aber so viele Möglichkeiten scheint es wohl doch nicht zu geben ;-))

Der DIP-Code wäre also genau wie oben:
Steckdose DIP-Switch: ON;OFF;ON;OFF;ON;OFF;ON;OFF;OFF;OFF
(rot=Gruppe, grün=Steckdose (A-E)

Kann ich das irgendwie in meine fhem.cfg eintragen?
Oder muss ich die Dips umstellen, damit die auch per Intertechno-Code schalten (ich hab das ehrlich gesagt noch nicht gaaanz verstanden...
...bekomme ich da dann beim on bzw. off befeh nichtl einen anderen IT-Code (naja... das ist vermutlich eine andere Geschichte und gehört nicht in diesen Thread)?

LG,
Niko

ext23

Hi,

das steht doch alles hier:
http://www.fhemwiki.de/wiki/RFXtrx#PT2262_empfangen_und_senden_mit_TRX_LIGHT.pm

Du musst nur schauen, das ist meistens invertiert, also da wo dein DIP 1 ist musste bei FHEM eine 0 angeben ;-)

Also bei dir wäre das dann eventuell 0101010111 (Einfach mal ausprobieren)

Gruß
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)

Niko_K

Hallo,

bist du da sicher. Ich habs gerade nicht ausprobiert (bin nicht zu Hause), aber ich hatte gestern den Fehler bekommen, dass PT2262 12bits (und nicht 10.... ich hab aber nur 10dips) benötigt.

LG,
Niko

ext23

Ja die fehlenden Bits sind die "Aktion"
10 und 01 (An/Aus)
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

ext23

Hier nochmal ein Beispiel:

define FB_ELRO_1_Taste_D TRX_LIGHT PT2262 0101111101 light 01:on,10:off
attr FB_ELRO_1_Taste_D IODev RFXTRX433


Gruß
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)

Niko_K

Ahh... das klingt plausibel.

Danke!
Dann probier ich das heute Abend gleich mal aus (sobald ich zu Hause bin)

LG,
Niko

Niko_K

Mit der Aktion am Ende hat's funktioniert.
Bei mir war die Kombination "0101010111 light 01:on,10:off" (für die von mir zuvor erwähnte Dip-Stellung).

Vielen Dank!

ext23

Sehr schön.

Aber mit dem "outdoor" darfst du das nicht so wörtlich nehmen. Die saufen gerne ab die Dinger. Ich hab die immer noch in Tüten eingepackt und mit Kabelbindern fest abgeschnürt.

/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)