NEWS
FHEM
-
Hallo Heinzelmaennchen,
da müssen wir Wettbewerb machen, wer mehr Anfänger ist. :lol:
Ich habe momentan das Problem mit steuern. Ich habe wirklich KEINE Ahnung wie ich steuern kann.
FHEM sagt:
> Ich möchte auch davor warnen, dass ein Frontend/anderes System versucht alle Readings/Attribute/Sets zu "verstehen". Dazu gibt es zu viele, und die ändern sich auch täglich. Die Welt ist nicht so uniform, wie man es denkt.
> Werte schreiben ist sehr unpräzise, muss also raten: wenn man ein Ereignis simulieren will, dann mit trigger. Wenn man einen Aktor schalten will, dann mit set. setstate ändert den Status eines Aktors, ohne ein Befehl zu senden, z.Bsp. ist das bei der Initialisierung nötig.
Ich will aber trotzdem versuchen, das automatisiert zu machen.Dafür brauche ich erst EINEIN SteuerZustand und brauche "JsonList2 Gerätename"
und wie ein Steuerkommando in Telnet dafür aussieht.
sollte so was wie "set Gerätename Attributname on" sein.
-
Hallo Bluefox,
Na dann werd ich mich mal ranmachen und probieren, ob ich die Informationen zusammenbekomme.
Eine Frage hätte ich aber schon jetzt.
Ich habe heute morgen einen Telnet via putty auf fhem aufgemacht. Klappt zwar, die Ausgabe ist aber schrecklich formatiert. Hast du da einen Tipp, wie man das einstellen könnte, oder ob es einen anderen Telnet Client gibt, der schöner formatiert?
Gruß
Bernhard
-
Klainer Tipp (wenn noch nicht gemacht)
wenn du Putty nimmst, solltest du bei Window / Translation / Remote char. auf UTF-8 einstellen. Dann solltest du einigermassen lesbare Zeichen bekommen.
Gruß
Jürgen
-
Hallo Bluefox,
Na dann werd ich mich mal ranmachen und probieren, ob ich die Informationen zusammenbekomme.
Eine Frage hätte ich aber schon jetzt.
Ich habe heute morgen einen Telnet via putty auf fhem aufgemacht. Klappt zwar, die Ausgabe ist aber schrecklich formatiert. Hast du da einen Tipp, wie man das einstellen könnte, oder ob es einen anderen Telnet Client gibt, der schöner formatiert?
Gruß
Bernhard `
Die Problematik hatte ich auch:
Ist die Lösung -
Hallo Bluefox,
dass Übertragen der Readings von FHEM –> ioBroker funktionierte ja schon einwandfrei.
Bzgl. der Übertragung von ioBroker --> FHEM habe ich jetzt auch gute Nachrichten. Ich hatte "nur" das falsche Widget genutzt. Wie konnte ich auch nur ansatzweise an Dir zweifeln? :lol:
Zwei Dinge habe ich getestet:
1. Manuelles Schalten von acht Relais (Fussbodenheizungsventile) über Arduino Mega 2560 an FHEM aus VIS: An / Aus / Toogle --> einwandfrei
2. RGBW-LED (https://www.amazon.de/XKTTSUEERCRR-Cont … ds=ufo+led) angebunden an FHEM : An / AUS / DimUP / DimDOWN / Dimmen über Slider –> einwandfrei
Die Änderungen über das VIS-RGB-Widget werden nicht übertragen. Farbänderungen über FHEM werden in VIS angezeigt. In http://www.fhemwiki.de/wiki/Fronthem gibt es Beispiele, wie die fremde GUI SmartVisu an FHEM angebunden wird.
Den Midlight-Adapter von ioBroker bekomme ich mit dem UFO nicht zum Laufen. Hat das schon jemand geschafft.
Fazit: "Set State" und "Readings" funktionieren. RGB und HSV kann ich noch nicht ändern. Vielleicht ist es noch nicht implementiert. Für mich steigt der Wert von ioBroker enorm. Vielen Dank dafür. Wo war noch der Spendenknopf? Ich werde ihn am Wochenende "vergewaltigen".
Gruß
Helle
-
Wo war noch der Spendenknopf? `
Auf der Startseite bei http://www.iobroker.net !
(oben - mittig unter dem Titelbanner, falls du ihn nicht direkt siehst)
Gruß
Rainer
-
Danke Rainer - den kenne ich schon –> Erledigt
-
Danke Rainer - den kenne ich schon –> Erledigt `
Danke für deine Spende :!:Kannst du hier einen Beispiel für die andere geben, wie man ein Gerät steuern kann?
Wie heißt dein RGB Gerät.
Sieht das Steuerkommando für den so aus?
set
set MyLamp 128, 255, 0
?
-
Aus http://www.fhemwiki.de/wiki/WifiLight
<u>HSV</u>
set <name>HSV H,S,V
Farbangaben im Farbraum "HSV" sind vollständig und in der Regel intuitiver als RGB. H (HUE: 0..360) gibt die Grundfarbe in einem Farbkreis (Regenbogen) an. Rot liegt bei 0°, Grün bei 120° und blau bei 240°. S (Saturation/Sättigung: 0..100) steht für die Sättigung der Farbe. Eine Sättigung von 100 bedeutet die Farbe ist "rein" oder komplett gesättigt. Blau zum Beispiel mit 100% Sättigung entspricht RGB #0000FF. V (Value: 0..100) gibt die Helligkeit an. Ein V von 50 heist: "halbe Helligkeit"
erweiterte Parameter:
ramp
queue
direction
event
ramp Dieser Parameter steuert einen weichen Übergang zwischen zwei Zuständen und wird in Sekunden angegeben.
Beispiel:
set <name>on : schaltet die LED sofort an.
set <name>on 20 : Die LED wird über einen Zeitraum von 20 Sekunden weich hoch-gedimmt.
queue Angenommen das Modul arbeitet gerade intern eine Transition, also dem weichen Übergang zu einem anderen Zustand (siehe ramp), ab. Der user setzt während der Transition einen weiteren Befehl für die LED ab.
Ohne den Parameter "q" wird die laufende Transition sofort unterbrochen und der neue Befehl wird ausgeführt. Mit dem Parameter "q" wird der neue Befehl in eine interne Queue geschrieben und erst bearbeitet nachdem die laufende Transition, und alle vorher in die Queue geschriebenen Befehle, abgearbeitet wurden.
Dadurch wird es möglich das mit einem Befehl mehrere ganz unterschiedliche Farb- oder Helligkeitswechsel an das modul übergibt die dann nacheinander abgearbeitet werden.
direction Im HSV Farbraum entsprechen die Farben einem Winkel (0° Rot, 120° Grün, 240° Blau). Der weiche Übergang von einer Farbe zu einer anderen wird Standardmäßig auf dem "kürzesten Weg" durchlaufen. Der Wechsel von Grün auf Rot sieht also so aus: 120°, 119°, 118°, … 2°, 1°, 0°. Das entspricht der default direction "s" für "short" - dem kürzesten Weg.
Mit dem Flag "l" für "long" (langer Weg) wird die gleiche Transition jetzt mit dem "Umweg" über Blau ausgeführt, also so: 120°, 121°, 122°, ... 358°, 359°, 360° ( = 0°).
<u>RGB</u>
set <name>RGB RRGGBB
RGB Angaben werden im 6 stelligen Hexadezimalen Format erwartet.
erweiterte Parameter:
ramp
queue
direction
event</name></name></name></name>
-
Hier noch aus der FHEM-Referenz:
<u>HSV</u>
set <name>HSV H,S,V [ramp] [s|l|q] [event]
Setzt die Farbe im HSV Farbraum. Wenn die ramp (als Zeit in Sekunden) angegeben ist, berechnet das modul einen weichen Farbübergang von der aktuellen Farbe zur neu gesetzten.
Beispiel, setzt ein gesättigtes Blau mit halber Helligkeit:
set wz.licht.decke HSV 240,100,50
Erweiterte Parameter:
ramp
Flags:
s l q event
<u>RGB</u>
set <name>RGB RRGGBB [ramp] [l|s|q] [event]
Setzt die Farbe im RGB Farbraum.
Erweiterte Parameter:
ramp
Flags:
s l q event
<u>Bedeutung der Flags</u>
Bestimmte Befehle (set) können mit speziellen Flags versehen werden.
ramp:
Zeit in Sekunden für einen weichen Farb- oder Helligkeitsübergang. Der weiche Übergang startet bei der aktuell sichtbaren Farbe und wird zur angegeben berechnet.
s:
(short, default). Ein weicher Übergang zu einer anderen Farbe wird im "Farbkreis" auf dem kürzesten Weg durchgeführt.
Eine Transition von ROT nach GRÜN führt auf dem kürzesten Weg über GELB.
l:
(long). Ein weicher Übergang zu einer anderen Farbe wird im "Farbkreis" auf dem "langen" Weg durchgeführt.
Eine Transition von ROT nach GRÜN führt dann über MAGENTA, BLAU, und CYAN.
q:
(queue). Kommandos mit diesem Flag werden in einer internen Warteschlange zwischengespeichert und erst ausgeführt nachdem die aktuell laufenden weichen Übergänge abgearbeitet wurden. Kommandos ohne das Flag werden sofort abgearbeitet. Dabei werden alle laufenden Übergänge sofort abgebrochen und die Warteschlange wird gelöscht.
event:
Beliebige Bezeichnung ([A-Za-z_0-9])
WifiLight erzeugt bei Verwendung dieses Flags im Verlauf weicher Übergange zu einer anderen Farbe Nachrichten (events) in der Form:
WifiLight <name>programm: <event><xx>.
<event>entspricht dem Namen so wie im Flag angegeben.
<xx>ist der prozentuale Fortschritt des Übergangs.
Je nach Gesamtdauer des Übergangs werden die Werte von 0 bis 100 nicht komplett durchlaufen wobei jedoch für 0% und 100% immer ein event garantiert ist. Auf diese events kann dann innerhalb von notify oder DOIF reagiert werden um zum Beispiel:
die Lautstärke eines Radios anzupassen wenn eine LED morgens langsam hochgedimmt wird
ein Farbübergang kann in einem notify neu gestartet werden wenn er komplett ist (loop)
andere Leuchtmittel können mit erstellten Farbübergängen synchronisiert werden</xx></event></xx></event></name></name></name>
-
Naja. Das ist Auszug aus der Doku. Aber ich wollte wirklich einen Beispiel, wie du aus "vis" dein ein konkretes Gerät steuerst?
Z.b. on/off.
Und währe super wenn du auch ein Bespiel geben konntest, wie du ein RGB Gerät steuerst (telnet oder web)?
-
Hallo Bluefox,
nach drei Tagen Messe, kann ich jetzt wieder etwas beisteuern.
Grundlage:
Eine REGENT Meteo Leuchte mit dimmbarem DALI EVG mit Enocean Schnittstelle soll aus ioBroker heraus zumindest EIN / AUS geschaltet werden können.
- Zur Manuellen Bedienung existiert ein PTM210 Handsender.
JsonList2:
! ````
{
"Arg":"EnO_0014C98A",
"Results": [
{
"Name":"EnO_0014C98A",
"PossibleSets":"A0:noArg AI:noArg B0:noArg BI:noArg C0:noArg CI:noArg D0:noArg DI:noArg released:noArg",
"PossibleAttrs":"verbose:0,1,2,3,4,5 room group comment:textField-long alias eventMap userReadings:textField-long IODev do_not_notify:1,0 ignore:0,1 dummy:0,1 showtime:1,0 actualTemp angleMax:slider,-180,20,180 alarmAction:no,stop,opens,closes angleMin:slider,-180,20,180 angleTime setCmdTrigger:man,refDev blockUnknownMSC:no,yes blockMotion:no,yes blockTemp:no,yes blockDisplay:no,yes blockDateTime:no,yes blockTimeProgram:no,yes blockOccupancy:no,yes blockSetpointTemp:no,yes blockFanSpeed:no,yes blockKey:no,yes comMode:confirm,biDir,uniDir creator:autocreate,manual daylightSavingTime:supported,not_supported dataEnc:VAES,AES-CBC defaultChannel:all,input,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29 demandRespAction demandRespRefDev demandRespMax:A0,AI,B0,BI,C0,CI,D0,DI demandRespMin:A0,AI,B0,BI,C0,CI,D0,DI demandRespRandomTime demandRespThreshold:slider,0,1,15 demandRespTimeoutLevel:max,last destinationID devChannel devMode:master,slave devUpdate:off,auto,demand,polling,interrupt dimMax dimMin dimValueOn disable:0,1 disabledForIntervals displayContent:default,humidity,off,setpointTemp,tempertureExtern,temperatureIntern,time,no_change displayOrientation:0,90,180,270 eep gpDef gwCmd:blindCmd,controlVar,dimming,fanStage,setpointBasic,setpointShift,switching humitity humidityRefDev keyRcv keySnd macAlgo:no,3,4 measurementCtrl:disable,enable manufID:000,001,002,003,004,005,006,007,008,009,00A,00B,00C,00D,00E,00F,010,011,012,013,014,015,016,017,018,019,01A,01B,01C,01D,01E,01F,020,021,022,023,024,025,026,027,028,029,02A,02B,02C,02D,030,031,032,033,034,035,036,038,039,03A,03C,03E,03F,040,041,045,046,049,7FF model:other,FAE14,FHK14,FHK61,FSA12,FSB14,FSB61,FSB70,FSM12,FSM61,FT55,FTS12,TF,tracker observe:on,off observeCmdRepetition:1,2,3,4,5 observeErrorAction observeInterval observeLogic:and,or observeRefDev pidActorErrorAction:errorPos,freeze pidActorCallBeforeSetting pidActorErrorPos pidActorLimitLower pidActorLimitUpper pidCtrl:on,off pidDeltaTreshold pidFactor_D pidFactor_I pidFactor_P pidIPortionCallBeforeSetting pidSensorTimeout pollInterval postmasterID productID rampTime rcvRespAction releasedChannel:A,B,C,D,I,0,auto repeatingAllowed:yes,no remoteCode remoteEEP remoteID remoteManufID remoteManagement:client,manager,off rlcAlgo:no,2++,3++ rlcRcv rlcSnd rlcTX:true,false reposition:directly,opens,closes rltRepeat:16,32,64,128,256 rltType:1BS,4BS scaleDecimals:0,1,2,3,4,5,6,7,8,9 scaleMax scaleMin secMode:rcv,snd,bidir secLevel:encapsulation,encryption,off sendDevStatus:no,yes sensorMode:switch,pushbutton serviceOn:no,yes setpointRefDev setpointTempRefDev shutTime shutTimeCloses subDef subDef0 subDefI subDefA subDefB subDefC subDefD subDefH subDefW subType:CO2Sensor.01,COSensor.01,COSensor.02,FRW,HSensor.01,PM101,actuator.01,autoMeterReading.00,autoMeterReading.01,autoMeterReading.02,autoMeterReading.03,autoMeterReading.04,autoMeterReading.05,autoMeterReading.10,baroSensor.01,blindsCtrl.00,contact,currentClamp.00,currentClamp.01,currentClamp.02,digitalInput.01,digitalInput.02,digitalInput.03,digitalInput.04,digitalInput.05,energyManagement.01,environmentApp,fanCtrl.00,gateway,genericProfile,heatRecovery.00,hvac.01,hvac.04,hvac.10,hvac.11,keycard,ledCtrlState.00,ledCtrlState.01,lightCtrl.01,lightCtrlState.01,lightCtrlState.02,lightSensor.01,lightSensor.02,lightSensor.03,lightSensor.04,lightTempOccupSensor.01,lightTempOccupSensor.02,lightTempOccupSensor.03,liquidLeakage,manufProfile,multiFuncSensor,multisensor.01,occupSensor.01,occupSensor.02,occupSensor.03,particlesSensor.01,radiationSensor.01,radioLinkTest,radonSensor.01,raw,remote,roomCtrlPanel.00,roomCtrlPanel.01,roomSensorControl.01,roomSensorControl.02,roomSensorControl.05,roomSensorControl.18,roomSensorControl.19,roomSensorControl.1A,roomSensorControl.1B,roomSensorControl.1C,roomSensorControl.1D,roomSensorControl.1F,roomSensorControl.20,roomSensorControl.22,shutterCtrlState.01,switch,switch.00,switch.05,switch.7F,tempCtrlState.01,tempHumiCO2Sensor.01,tempHumiSensor.02,tempHumiSensor.03,tempSensor.01,tempSensor.02,tempSensor.03,tempSensor.04,tempSensor.05,tempSensor.06,tempSensor.07,tempSensor.08,tempSensor.09,tempSensor.0A,tempSensor.0B,tempSensor.10,tempSensor.11,tempSensor.12,tempSensor.13,tempSensor.14,tempSensor.15,tempSensor.16,tempSensor.17,tempSensor.18,tempSensor.19,tempSensor.1A,tempSensor.1B,tempSensor.20,tempSensor.30,valveCtrl.00,vocSensor.01,windowHandle,windowHandle.10 subTypeSet:CO2Sensor.01,COSensor.01,COSensor.02,FRW,HSensor.01,PM101,actuator.01,autoMeterReading.00,autoMeterReading.01,autoMeterReading.02,autoMeterReading.03,autoMeterReading.04,autoMeterReading.05,autoMeterReading.10,baroSensor.01,blindsCtrl.00,contact,currentClamp.00,currentClamp.01,currentClamp.02,digitalInput.01,digitalInput.02,digitalInput.03,digitalInput.04,digitalInput.05,energyManagement.01,environmentApp,fanCtrl.00,gateway,genericProfile,heatRecovery.00,hvac.01,hvac.04,hvac.10,hvac.11,keycard,ledCtrlState.00,ledCtrlState.01,lightCtrl.01,lightCtrlState.01,lightCtrlState.02,lightSensor.01,lightSensor.02,lightSensor.03,lightSensor.04,lightTempOccupSensor.01,lightTempOccupSensor.02,lightTempOccupSensor.03,liquidLeakage,manufProfile,multiFuncSensor,multisensor.01,occupSensor.01,occupSensor.02,occupSensor.03,particlesSensor.01,radiationSensor.01,radioLinkTest,radonSensor.01,raw,remote,roomCtrlPanel.00,roomCtrlPanel.01,roomSensorControl.01,roomSensorControl.02,roomSensorControl.05,roomSensorControl.18,roomSensorControl.19,roomSensorControl.1A,roomSensorControl.1B,roomSensorControl.1C,roomSensorControl.1D,roomSensorControl.1F,roomSensorControl.20,roomSensorControl.22,shutterCtrlState.01,switch,switch.00,switch.05,switch.7F,tempCtrlState.01,tempHumiCO2Sensor.01,tempHumiSensor.02,tempHumiSensor.03,tempSensor.01,tempSensor.02,tempSensor.03,tempSensor.04,tempSensor.05,tempSensor.06,tempSensor.07,tempSensor.08,tempSensor.09,tempSensor.0A,tempSensor.0B,tempSensor.10,tempSensor.11,tempSensor.12,tempSensor.13,tempSensor.14,tempSensor.15,tempSensor.16,tempSensor.17,tempSensor.18,tempSensor.19,tempSensor.1A,tempSensor.1B,tempSensor.20,tempSensor.30,valveCtrl.00,vocSensor.01,windowHandle,windowHandle.10 subTypeReading:CO2Sensor.01,COSensor.01,COSensor.02,FRW,HSensor.01,PM101,actuator.01,autoMeterReading.00,autoMeterReading.01,autoMeterReading.02,autoMeterReading.03,autoMeterReading.04,autoMeterReading.05,autoMeterReading.10,baroSensor.01,blindsCtrl.00,contact,currentClamp.00,currentClamp.01,currentClamp.02,digitalInput.01,digitalInput.02,digitalInput.03,digitalInput.04,digitalInput.05,energyManagement.01,environmentApp,fanCtrl.00,gateway,genericProfile,heatRecovery.00,hvac.01,hvac.04,hvac.10,hvac.11,keycard,ledCtrlState.00,ledCtrlState.01,lightCtrl.01,lightCtrlState.01,lightCtrlState.02,lightSensor.01,lightSensor.02,lightSensor.03,lightSensor.04,lightTempOccupSensor.01,lightTempOccupSensor.02,lightTempOccupSensor.03,liquidLeakage,manufProfile,multiFuncSensor,multisensor.01,occupSensor.01,occupSensor.02,occupSensor.03,particlesSensor.01,radiationSensor.01,radioLinkTest,radonSensor.01,raw,remote,roomCtrlPanel.00,roomCtrlPanel.01,roomSensorControl.01,roomSensorControl.02,roomSensorControl.05,roomSensorControl.18,roomSensorControl.19,roomSensorControl.1A,roomSensorControl.1B,roomSensorControl.1C,roomSensorControl.1D,roomSensorControl.1F,roomSensorControl.20,roomSensorControl.22,shutterCtrlState.01,switch,switch.00,switch.05,switch.7F,tempCtrlState.01,tempHumiCO2Sensor.01,tempHumiSensor.02,tempHumiSensor.03,tempSensor.01,tempSensor.02,tempSensor.03,tempSensor.04,tempSensor.05,tempSensor.06,tempSensor.07,tempSensor.08,tempSensor.09,tempSensor.0A,tempSensor.0B,tempSensor.10,tempSensor.11,tempSensor.12,tempSensor.13,tempSensor.14,tempSensor.15,tempSensor.16,tempSensor.17,tempSensor.18,tempSensor.19,tempSensor.1A,tempSensor.1B,tempSensor.20,tempSensor.30,valveCtrl.00,vocSensor.01,windowHandle,windowHandle.10 summerMode:off,on switchMode:switch,pushbutton switchHysteresis switchType:direction,universal,channel,central teachMethod:1BS,4BS,GP,RPS,smartAck,STE,UTE temperatureRefDev temperatureScale:C,F,default,no_change timeNotation:12,24,default,no_change timeProgram1 timeProgram2 timeProgram3 timeProgram4 updateState:default,yes,no uteResponseRequest:yes,no wakeUpCycle:270,750,1260,180,54000,900,510,129600,480,630,43200,151200,1020,21600,1170,780,450,150,600,1410,360,140400,1110,660,540,10,870,108000,570,1320,300,1500,10800,390,990,1050,90,86400,840,720,210,1140,1350,118800,1200,1290,960,690,1380,97200,1230,64800,60,1470,1080,930,32400,1440,420,810,240,330,75600,120 event-on-change-reading event-on-update-reading event-aggregator event-min-interval stateFormat:textField-long timestamp-on-change-reading cmdIcon devStateIcon devStateStyle icon sortby webCmd widgetOverride userattr",
"Internals": {
"DEF": "0014C98A",
"LASTInputDev": "TCM_ESP3_0",
"MSGCNT": "4",
"NAME": "EnO_0014C98A",
"NR": "22",
"NTFY_ORDER": "50-EnO_0014C98A",
"STATE": "A0",
"TCM_ESP3_0_DestinationID": "FFFFFFFF",
"TCM_ESP3_0_MSGCNT": "4",
"TCM_ESP3_0_PacketType": "1",
"TCM_ESP3_0_RSSI": "-71",
"TCM_ESP3_0_ReceivingQuality": "excellent",
"TCM_ESP3_0_RepeatingCounter": "0",
"TCM_ESP3_0_SubTelNum": "5",
"TCM_ESP3_0_TIME": "2016-06-10 11:21:16",
"TYPE": "EnOcean"
},
"Readings": {
"buttons": { "Value":"released", "Time":"2016-06-10 11:21:16" },
"channelA": { "Value":"A0", "Time":"2016-06-10 11:21:15" },
"channelB": { "Value":"B0", "Time":"2016-06-09 21:16:23" },
"state": { "Value":"A0", "Time":"2016-06-10 11:21:15" },
"teach": { "Value":"RPS teach-in accepted EEP F6-02-01 Manufacturer: no ID", "Time":"2016-06-09 17:20:08" }
},
"Attributes": {
"IODev": "TCM_ESP3_0",
"eep": "F6-02-01",
"manufID": "7FF",
"room": "EnOcean",
"subType": "switch",
"teachMethod": "RPS"
}
} ],
"totalResultsReturned":1
}Die beiden (Leuchte und Handsender) sind schon Ewigkeiten und unabhängig von FHEM aneinander angelernt und funktionieren auch einwandfrei. 2) Ein USB 300 mit TCM 310 Chipsatz und dem Name "TCM_ESP3_0" dient als Sender aus FHEM heraus. Ist in FHEM installiert und funktioniert einwandfrei. JsonList2: >! ```` { "Arg":"TCM_ESP3_0", "Results": [ { "Name":"TCM_ESP3_0", "PossibleSets":"baseID bist maturity mode repeater reset sleep smartAckLearn smartAckMailboxMax subtel teach", "PossibleAttrs":"verbose:0,1,2,3,4,5 room group comment:textField-long alias eventMap userReadings:textField-long baseID blockSenderID:own,no comType:TCM,RS485 do_not_notify:1,0 dummy:1,0 learningMode:always,demand,nearfield sendInterval:0,25,40,50,100,150,200,250 smartAckMailboxMax:slider,0,1,20 smartAckLearnMode:simple,advance,advanceSelectRep cmdIcon devStateIcon devStateStyle icon sortby webCmd widgetOverride userattr", "Internals": { "BaseID": "00000000", "DEF": "ESP3 /dev/ttyUSB0@57600", "DeviceName": "/dev/ttyUSB0@57600", "FD": "10", "LastID": "00000000", "MODEL": "ESP3", "NAME": "TCM_ESP3_0", "NOTIFYDEV": "global", "NR": "21", "NTFY_ORDER": "50-TCM_ESP3_0", "PARTIAL": "", "RSSI": "-71", "STATE": "initialized", "TYPE": "TCM" }, "Readings": { "baseID": { "Value":"BaseID: FFF2DB80 RemainingWriteCycles: 0A", "Time":"2016-06-10 09:11:59" }, "maturity": { "Value":"01", "Time":"2016-06-10 09:20:59" }, "repeater": { "Value":"RepEnable: 00 RepLevel: 00", "Time":"2016-06-10 09:20:59" }, "state": { "Value":"initialized", "Time":"2016-06-10 09:21:02" }, "version": { "Value":"APIVersion: 02020200 APPVersion: 02040000 ChipID: 0085E5B7 ChipVersion: 454F0103 Desc: GATEWAYCTRL", "Time":"2016-06-10 09:11:59" } }, "Attributes": { "room": "EnOcean", "sendInterval": "0", "smartAckMailboxMax": "0"} } ], "totalResultsReturned":1 }
Der o.a. PTM210 wurde ebenfalls an den TCM 310 angelernt. Dies ist zwar prinzipiell nicht notwendig. Tut man es jedoch trotzdem, kann man die Kommunikation zwischen PTM 210 und Leuchte in FHEM mitloggen. Ausserdem werden alle Aktivitäten im weiteren danach auch an ioBroker übertragen.
- da FHEM aus Sicherheitsgründen nicht den PTM 210 dazu verwenden kann, ein Signal an die Leuchte zu schicken, wurde:
a) ein virtueller Schalter angelegt ("define virtswitch_regent_meteo EnOcean getNextID")
b) dieser Schalter danach dann noch um die Zusatzattribute "subType:switch" und "switchMode:pushbutton" erweitert und im Anschluss daran genau wie ein physisches Gerät auch an die Leuchte angelernt.
JsonList2:
! ````
{
"Arg":"virtswitch_regent_meteo",
"Results": [
{
"Name":"virtswitch_regent_meteo",
"PossibleSets":"A0:noArg AI:noArg B0:noArg BI:noArg C0:noArg CI:noArg D0:noArg DI:noArg released:noArg",
"PossibleAttrs":"verbose:0,1,2,3,4,5 room group comment:textField-long alias eventMap userReadings:textField-long IODev do_not_notify:1,0 ignore:0,1 dummy:0,1 showtime:1,0 actualTemp angleMax:slider,-180,20,180 alarmAction:no,stop,opens,closes angleMin:slider,-180,20,180 angleTime setCmdTrigger:man,refDev blockUnknownMSC:no,yes blockMotion:no,yes blockTemp:no,yes blockDisplay:no,yes blockDateTime:no,yes blockTimeProgram:no,yes blockOccupancy:no,yes blockSetpointTemp:no,yes blockFanSpeed:no,yes blockKey:no,yes comMode:confirm,biDir,uniDir creator:autocreate,manual daylightSavingTime:supported,not_supported dataEnc:VAES,AES-CBC defaultChannel:all,input,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29 demandRespAction demandRespRefDev demandRespMax:A0,AI,B0,BI,C0,CI,D0,DI demandRespMin:A0,AI,B0,BI,C0,CI,D0,DI demandRespRandomTime demandRespThreshold:slider,0,1,15 demandRespTimeoutLevel:max,last destinationID devChannel devMode:master,slave devUpdate:off,auto,demand,polling,interrupt dimMax dimMin dimValueOn disable:0,1 disabledForIntervals displayContent:default,humidity,off,setpointTemp,tempertureExtern,temperatureIntern,time,no_change displayOrientation:0,90,180,270 eep gpDef gwCmd:blindCmd,controlVar,dimming,fanStage,setpointBasic,setpointShift,switching humitity humidityRefDev keyRcv keySnd macAlgo:no,3,4 measurementCtrl:disable,enable manufID:000,001,002,003,004,005,006,007,008,009,00A,00B,00C,00D,00E,00F,010,011,012,013,014,015,016,017,018,019,01A,01B,01C,01D,01E,01F,020,021,022,023,024,025,026,027,028,029,02A,02B,02C,02D,030,031,032,033,034,035,036,038,039,03A,03C,03E,03F,040,041,045,046,049,7FF model:other,FAE14,FHK14,FHK61,FSA12,FSB14,FSB61,FSB70,FSM12,FSM61,FT55,FTS12,TF,tracker observe:on,off observeCmdRepetition:1,2,3,4,5 observeErrorAction observeInterval observeLogic:and,or observeRefDev pidActorErrorAction:errorPos,freeze pidActorCallBeforeSetting pidActorErrorPos pidActorLimitLower pidActorLimitUpper pidCtrl:on,off pidDeltaTreshold pidFactor_D pidFactor_I pidFactor_P pidIPortionCallBeforeSetting pidSensorTimeout pollInterval postmasterID productID rampTime rcvRespAction releasedChannel:A,B,C,D,I,0,auto repeatingAllowed:yes,no remoteCode remoteEEP remoteID remoteManufID remoteManagement:client,manager,off rlcAlgo:no,2++,3++ rlcRcv rlcSnd rlcTX:true,false reposition:directly,opens,closes rltRepeat:16,32,64,128,256 rltType:1BS,4BS scaleDecimals:0,1,2,3,4,5,6,7,8,9 scaleMax scaleMin secMode:rcv,snd,bidir secLevel:encapsulation,encryption,off sendDevStatus:no,yes sensorMode:switch,pushbutton serviceOn:no,yes setpointRefDev setpointTempRefDev shutTime shutTimeCloses subDef subDef0 subDefI subDefA subDefB subDefC subDefD subDefH subDefW subType:CO2Sensor.01,COSensor.01,COSensor.02,FRW,HSensor.01,PM101,actuator.01,autoMeterReading.00,autoMeterReading.01,autoMeterReading.02,autoMeterReading.03,autoMeterReading.04,autoMeterReading.05,autoMeterReading.10,baroSensor.01,blindsCtrl.00,contact,currentClamp.00,currentClamp.01,currentClamp.02,digitalInput.01,digitalInput.02,digitalInput.03,digitalInput.04,digitalInput.05,energyManagement.01,environmentApp,fanCtrl.00,gateway,genericProfile,heatRecovery.00,hvac.01,hvac.04,hvac.10,hvac.11,keycard,ledCtrlState.00,ledCtrlState.01,lightCtrl.01,lightCtrlState.01,lightCtrlState.02,lightSensor.01,lightSensor.02,lightSensor.03,lightSensor.04,lightTempOccupSensor.01,lightTempOccupSensor.02,lightTempOccupSensor.03,liquidLeakage,manufProfile,multiFuncSensor,multisensor.01,occupSensor.01,occupSensor.02,occupSensor.03,particlesSensor.01,radiationSensor.01,radioLinkTest,radonSensor.01,raw,remote,roomCtrlPanel.00,roomCtrlPanel.01,roomSensorControl.01,roomSensorControl.02,roomSensorControl.05,roomSensorControl.18,roomSensorControl.19,roomSensorControl.1A,roomSensorControl.1B,roomSensorControl.1C,roomSensorControl.1D,roomSensorControl.1F,roomSensorControl.20,roomSensorControl.22,shutterCtrlState.01,switch,switch.00,switch.05,switch.7F,tempCtrlState.01,tempHumiCO2Sensor.01,tempHumiSensor.02,tempHumiSensor.03,tempSensor.01,tempSensor.02,tempSensor.03,tempSensor.04,tempSensor.05,tempSensor.06,tempSensor.07,tempSensor.08,tempSensor.09,tempSensor.0A,tempSensor.0B,tempSensor.10,tempSensor.11,tempSensor.12,tempSensor.13,tempSensor.14,tempSensor.15,tempSensor.16,tempSensor.17,tempSensor.18,tempSensor.19,tempSensor.1A,tempSensor.1B,tempSensor.20,tempSensor.30,valveCtrl.00,vocSensor.01,windowHandle,windowHandle.10 subTypeSet:CO2Sensor.01,COSensor.01,COSensor.02,FRW,HSensor.01,PM101,actuator.01,autoMeterReading.00,autoMeterReading.01,autoMeterReading.02,autoMeterReading.03,autoMeterReading.04,autoMeterReading.05,autoMeterReading.10,baroSensor.01,blindsCtrl.00,contact,currentClamp.00,currentClamp.01,currentClamp.02,digitalInput.01,digitalInput.02,digitalInput.03,digitalInput.04,digitalInput.05,energyManagement.01,environmentApp,fanCtrl.00,gateway,genericProfile,heatRecovery.00,hvac.01,hvac.04,hvac.10,hvac.11,keycard,ledCtrlState.00,ledCtrlState.01,lightCtrl.01,lightCtrlState.01,lightCtrlState.02,lightSensor.01,lightSensor.02,lightSensor.03,lightSensor.04,lightTempOccupSensor.01,lightTempOccupSensor.02,lightTempOccupSensor.03,liquidLeakage,manufProfile,multiFuncSensor,multisensor.01,occupSensor.01,occupSensor.02,occupSensor.03,particlesSensor.01,radiationSensor.01,radioLinkTest,radonSensor.01,raw,remote,roomCtrlPanel.00,roomCtrlPanel.01,roomSensorControl.01,roomSensorControl.02,roomSensorControl.05,roomSensorControl.18,roomSensorControl.19,roomSensorControl.1A,roomSensorControl.1B,roomSensorControl.1C,roomSensorControl.1D,roomSensorControl.1F,roomSensorControl.20,roomSensorControl.22,shutterCtrlState.01,switch,switch.00,switch.05,switch.7F,tempCtrlState.01,tempHumiCO2Sensor.01,tempHumiSensor.02,tempHumiSensor.03,tempSensor.01,tempSensor.02,tempSensor.03,tempSensor.04,tempSensor.05,tempSensor.06,tempSensor.07,tempSensor.08,tempSensor.09,tempSensor.0A,tempSensor.0B,tempSensor.10,tempSensor.11,tempSensor.12,tempSensor.13,tempSensor.14,tempSensor.15,tempSensor.16,tempSensor.17,tempSensor.18,tempSensor.19,tempSensor.1A,tempSensor.1B,tempSensor.20,tempSensor.30,valveCtrl.00,vocSensor.01,windowHandle,windowHandle.10 subTypeReading:CO2Sensor.01,COSensor.01,COSensor.02,FRW,HSensor.01,PM101,actuator.01,autoMeterReading.00,autoMeterReading.01,autoMeterReading.02,autoMeterReading.03,autoMeterReading.04,autoMeterReading.05,autoMeterReading.10,baroSensor.01,blindsCtrl.00,contact,currentClamp.00,currentClamp.01,currentClamp.02,digitalInput.01,digitalInput.02,digitalInput.03,digitalInput.04,digitalInput.05,energyManagement.01,environmentApp,fanCtrl.00,gateway,genericProfile,heatRecovery.00,hvac.01,hvac.04,hvac.10,hvac.11,keycard,ledCtrlState.00,ledCtrlState.01,lightCtrl.01,lightCtrlState.01,lightCtrlState.02,lightSensor.01,lightSensor.02,lightSensor.03,lightSensor.04,lightTempOccupSensor.01,lightTempOccupSensor.02,lightTempOccupSensor.03,liquidLeakage,manufProfile,multiFuncSensor,multisensor.01,occupSensor.01,occupSensor.02,occupSensor.03,particlesSensor.01,radiationSensor.01,radioLinkTest,radonSensor.01,raw,remote,roomCtrlPanel.00,roomCtrlPanel.01,roomSensorControl.01,roomSensorControl.02,roomSensorControl.05,roomSensorControl.18,roomSensorControl.19,roomSensorControl.1A,roomSensorControl.1B,roomSensorControl.1C,roomSensorControl.1D,roomSensorControl.1F,roomSensorControl.20,roomSensorControl.22,shutterCtrlState.01,switch,switch.00,switch.05,switch.7F,tempCtrlState.01,tempHumiCO2Sensor.01,tempHumiSensor.02,tempHumiSensor.03,tempSensor.01,tempSensor.02,tempSensor.03,tempSensor.04,tempSensor.05,tempSensor.06,tempSensor.07,tempSensor.08,tempSensor.09,tempSensor.0A,tempSensor.0B,tempSensor.10,tempSensor.11,tempSensor.12,tempSensor.13,tempSensor.14,tempSensor.15,tempSensor.16,tempSensor.17,tempSensor.18,tempSensor.19,tempSensor.1A,tempSensor.1B,tempSensor.20,tempSensor.30,valveCtrl.00,vocSensor.01,windowHandle,windowHandle.10 summerMode:off,on switchMode:switch,pushbutton switchHysteresis switchType:direction,universal,channel,central teachMethod:1BS,4BS,GP,RPS,smartAck,STE,UTE temperatureRefDev temperatureScale:C,F,default,no_change timeNotation:12,24,default,no_change timeProgram1 timeProgram2 timeProgram3 timeProgram4 updateState:default,yes,no uteResponseRequest:yes,no wakeUpCycle:270,750,1260,180,54000,900,510,129600,480,630,43200,151200,1020,21600,1170,780,450,150,600,1410,360,140400,1110,660,540,10,870,108000,570,1320,300,1500,10800,390,990,1050,90,86400,840,720,210,1140,1350,118800,1200,1290,960,690,1380,97200,1230,64800,60,1470,1080,930,32400,1440,420,810,240,330,75600,120 event-on-change-reading event-on-update-reading event-aggregator event-min-interval stateFormat:textField-long timestamp-on-change-reading cmdIcon devStateIcon devStateStyle icon sortby webCmd widgetOverride userattr",
"Internals": {
"DEF": "FFF2DB81",
"NAME": "virtswitch_regent_meteo",
"NR": "24",
"NTFY_ORDER": "50-virtswitch_regent_meteo",
"STATE": "released",
"TYPE": "EnOcean"
},
"Readings": { "state": { "Value":"released", "Time":"2016-06-10 15:20:12" } },
"Attributes": {
"IODev": "TCM_ESP3_0",
"icon": "1",
"manufID": "7FF",
"room": "EnOcean",
"subType": "switch",
"switchMode": "pushbutton"
}
} ],
"totalResultsReturned":1
} -
TEIL 2 / Details in FHEM und ioBroker
PTM210- Handsender
!
TCM310- USB300
!
virtueller Switch
!Löst man nun auf einer Detailseite eines Switches (PTM oder virt) "Set XXXXX A0" aus, so geht das Licht der Leuchte an. Wiederholt man das Ganze nochmal, geht sie wieder aus.
Schaut man aber in das Log von FHEM, so sieht man jedoch, dass eigentlich ZWEI Befehle geschickt werden
"A0" und dann "released"
!
Dieses Verhalten ist wohl auf die Eigenschaft "switchmode=pushbutton" zurückzuführen.Einbindung in ioBroker.
- Adapterinstanz installieren und konfigurieren - mit der IP-Adresse des FHEM Servers und dem zugehörigen Telnet Port (7072 im Standard)
Dann liest der Adapter alle Infos aus dem FHEM Server ein.
Darauf ergibt sich folgendes Bild für den Handsender:
!
und den virtuellen Switch:!
und im Log von ioBroker!
TELNET:
öffnet man mittels Putty eine Telnetverbindung so kann man über den Befehl
set virtswitch_regent_meteo A0
das selbe Verhalten erreichen. Der Eintrag im Lag des ioBroker ist der selbe.
der Befehl
trigger virtswitch_regent_meteo A0
hingegen löst keine Aktion aus.
Und an diesem Punkt stehe ich nun.
Das heißt, die nächsten Schritte müssen sein, über einen Eintrag in den Values der Datenpunkte den Schaltbefehl zu senden. Wo ich den eintragen muss, in welcher Form, und mit welchem vis-Widget das zu bewerkstelligen ist, steht noch aus.
Hoffe, dieser ganze Roman hilft irgendwie weiter :roll:
-
Danke!
Das hilft definitiv. Versuche nächste Woche mich damit zu beschäftigen.
-
Hallo Bluefox,
in dem Beispiel unten ist mir aufgefallen, dass ioBroker den Wert für RGB mit "#" übergibt, hier also "#D61C4B". Wenn ich das "#" entferne und Enter drücke wird der Wert einwandfrei von FHEM übernommen.
Gruß
Helle
-
Probier mal neue Version aus.
-
Konnte keine Änderung feststellen. Unter Value bleibt das "#". Lösche ich dieses, so wird der Wert einwandfrei von FHEM übernommen.
-
Konnte keine Änderung feststellen. Unter Value bleibt das "#". Lösche ich dieses, so wird der Wert einwandfrei von FHEM übernommen. `
Lösche bitte dieses Objekt im Admin und starte fhem neu. -
-
ioBroker: FHEM-Adapter gestoppt
-
ioBroker: Object gelöscht
-
FHEM: Shutdown restart –> warten
-
ioBroker: FHEM-Adapter neu gestartet
-
Object erscheint neu
Testergebnisse:
-
Weiß, grau, schwarz okay --> FFFFFF und 0 --> ohne "#"
-
Bei allen Farbwerten erscheint "#" vor dem RGB-Wert --> "#" manuell löschen und Enter --> okay
-
-
> + Object erscheint neu
Wie sieht jetzt Objekt aus?