Frage zu genericDeviceType:switch,outlet,light,blind,speaker,thermostat

Begonnen von tklein, 22 Februar 2017, 14:35:57

Vorheriges Thema - Nächstes Thema

tklein

Hallo,

als was muss ich meine RF-LED-Dimmer definieren, den ich per Alexa/Siri togglen sowie heller/dunkler möchte?


define Kuechenlampe dummy
attr Kuechenlampe genericDeviceType switch
attr Kuechenlampe group Stripes
attr Kuechenlampe room Küche,Stripes,Homekit,alexa
attr Kuechenlampe setList toggle up down
attr Kuechenlampe webCmd toggle up down

define toggle_Kuechenlame notify Kuechenlampe:toggle {system(" /home/pi/433Utils/RPi_utils/codesend 15883553 &")}
define up_Kuechenlampe notify Kuechenlampe:up {system(" /home/pi/433Utils/RPi_utils/codesend 15883556 &")}
define down_Kuechenlampe notify Kuechenlame:down { system("/home/pi/433Utils/RPi_utils/codesend 15883554 &")}


Was können die jeweiligen Typen?
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

KölnSolar

verschieb den Beitrag besser nach Frontends/Sprachsteuerungen.
(Bin auch auf Antworten gespannt, da ich das genericDeviceType nicht so kenne, außer für Alexa)
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

tklein

FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

DeeSPe

Zitat von: tklein am 22 Februar 2017, 14:35:57
Hallo,

als was muss ich meine RF-LED-Dimmer definieren, den ich per Alexa/Siri togglen sowie heller/dunkler möchte?

Als light.
Um dann auch dimmen zu können musst Du Dir wohl eine Brightness Characteristic selber mappen.
Die Frage ist nur wo Du den dim-Wert her nimmst, da den ja Dein dummy auch nicht kennt und ich nehme an dass Deine LED-Dimmer auch keinen Rückkanal haben.
Evtl. kannst Du Dir da mit einem userReading behelfen. Das wird aber nie genau sein da ja der Wert nicht vorhanden ist und nur geschätzt werden kann.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

tklein

Danke,

nee, einen Rückkanal gibt es nicht. Hier ein Link zu dem Produkt: https://www.amazon.de/dp/B009IBUHFK/ref=cm_sw_em_r_mt_dp_qOARybHWRHKYR

Könntest du mir bitte ein Beispiel zum Thema Brightness Characteristic posten. Wie meinst du das mit dem userReading?

Also geht das so wie ich ir das in meinem Beispiel gedacht habe nicht? Siri/Alex können ein in einer leicht geänderten Versioin schon schalten. Jetzt wollte ich mich an der Helligkeit versuchen.
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

DeeSPe

userReading war falsch an dieser Stelle! 8)

Die Characteristic Brightness hat einen prozentualen Wertebereich.. Also 0 - 100.
Da es sich ja um ein "dummes" Gerät handelt, musst Du also eine erweiterte Logik selbst implementieren.
Du musst also als Erstes mal zählen wie oft Du auf up/down drücken musst um von aus auf ganz hell zu dimmen und umgekehrt.
Die 100 musst Du dann durch diesen Wert teilen damit Du die Einzelschritte bekommst.

Per notify könntest Du dann bei jedem up den jeweiligen Wert dazu addieren und bei down entsprechend abziehen.
Etwa so bei 10 Dimmstufen (ungetestet):
define n_Kuechenlampe_up_down notify Kuechenlampe:(up|down).* {my $dim=ReadingsVal($NAME,"dim",0); $dim+=$EVENT eq "up"?10:-10; fhem "setreading $NAME dim $dim"}

Dann hast Du schon mal ein Reading dim welches Du in der Brightness Characteristic mappen kannst.
Evtl. wird die Characteristic dann sogar schon automatisch erkannt und gemappt wenn Du das Reading dim hast. Probiere es mal aus.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

tklein

Hi,

diese kompakte und sehr knackige Schreibweise treibt mir neben ganz viel Angstschweiss auch etliche "?" über meinen Kopf.  ???
Da setzt es bei mir als Anfänger (noch) leider aus. Wo/Wie würde ich den/die RF Impuls senden?

Verwirrte Grüße
Thomas
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

DeeSPe

Zitat von: tklein am 22 Februar 2017, 17:50:38
Hi,

diese kompakte und sehr knackige Schreibweise treibt mir neben ganz viel Angstschweiss auch etliche "?" über meinen Kopf.  ???
Da setzt es bei mir als Anfänger (noch) leider aus. Wo/Wie würde ich den/die RF Impuls senden?

Verwirrte Grüße
Thomas

Die Befehle sendest Du doch schon mit den notify(s) aus dem ersten Beitrag!
Das könnte man natürlich alles auch in einem notify zusammenfassen!

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

tklein

Hi,

habe deinen Code in die fhem.cfg geschrieben und bekomme folgende Logausgabe:

Messages collected while initializing FHEM: configfile: Unknown command $dim+=$EVENT, try help. Unknown command fhem, try help.
Was muss ich ändern/definieren?
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

DeeSPe

Zitat von: tklein am 23 Februar 2017, 10:17:30
habe deinen Code in die fhem.cfg geschrieben

Das solltest Du unter keinen Umständen jemals tun!
In der fhem.cfg wird nicht manuell drin rumgefuchtelt!
Alles was nötig ist kann über das Frontend (WEB) konfiguriert werden.
Und dann kann es auch nicht zu solchen Fehlern kommen.

Der Fehler kommt daher weil in der fhem.cfg die ; verdoppelt werden müssen.
Lösche das bitte wieder heraus, füge folgenden Code in die FHEM Eingabezeile ein und drücke Enter:
define n_Kuechenlampe_up_down notify Kuechenlampe:(up|down).* {my $dim=ReadingsVal($NAME,"dim",0);; $dim+=$EVENT eq "up"?10:-10;; fhem "setreading $NAME dim $dim"}

Habe das notify eben bei mir getestet und es macht genau was es soll.
Man könnte natürlich noch abfangen dass die Werte nie "aus versehen" über 100 und unter 0 gehen.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

DeeSPe

Mit dieser kleinen Erweiterung sind auch die Grenzfälle abgedeckt.
Somit kann dim nie mehr unter 0 oder über 100 gehen:
define n_Kuechenlampe_up_down notify Kuechenlampe:(up|down).* {my $dim=ReadingsVal($NAME,"dim",0);; $dim+=$EVENT eq "up"?10:-10;; $dim=$dim>100?100:$dim<0?0:$dim;; fhem "setreading $NAME dim $dim"}

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

tklein

Hi Dan,

vielen Dank dafür. Jetzt gibt es keine Fehlermeldung.
Jedoch wird die Helligkeit in keinster Weise geändert.
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

Master_Nick

Magst du mir einmal ein List von deinem dummy geben ;-) ?
Ich versuche ja etwas ähnliches zu bauen... komme aber nicht mal soweit, dass Echo/Alexa die Möglichkeit der Dimmfunktion für meinen Dummy erkennt.

Helfen kann ich leider noch nicht dabei...
Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)

DeeSPe

Zitat von: tklein am 23 Februar 2017, 15:49:30
Jedoch wird die Helligkeit in keinster Weise geändert.

Das macht ja nicht dieses notify, sondern die beiden die Du schon hattest!
Zitat von: tklein am 22 Februar 2017, 14:35:57

define up_Kuechenlampe notify Kuechenlampe:up {system(" /home/pi/433Utils/RPi_utils/codesend 15883556 &")}
define down_Kuechenlampe notify Kuechenlame:down { system("/home/pi/433Utils/RPi_utils/codesend 15883554 &")}


Falls Du die nicht "zufällig" gelöscht hast und es schon mal damit ging, sollte es auch weiterhin damit funktionieren.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

tklein

die waren noch drin. Habe gesehen, das die ca 70 Einzelschritte kaum beim Ändern zu sehen sind. :-)

Wie kann ich es dann machen, dass je Hellersignal ca 15 Sendeimpule gesendet werden?
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

Master_Nick

#15
Also in bash script hätte ich es mit einer variable gelöst die hoch oder runter gezählt wird.

Perl könnte so gehen:

my $counter = 15;
chomp $counter ;

for($counter){

  my $counter = ($counter - 1);
}

Dummerweise versau ich noch oft die Syntax.. *Edit hab es mal eben in ein notify gepackt gemeckert hat die neue Kontrolle von FHEM 5.8 nicht :-D


*EDIT geht wohl noch besser:


for ($i = 1; $i != 15; $i++) {{system(" /home/pi/433Utils/RPi_utils/codesend 15883556 &")}}

Müsstest du mal testen...
Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)

tklein

mmhhmmm:

Kuechenlampe:up for ( my $i=1; $i !=15; $i++) {{system(" /home/pi/433Utils/RPi_utils/codesend 15883556 &")}}
--> da wird gemeckert: (ohne my wird auch gemeckert)

Log:

2017.02.24 11:06:17 3: up_Kuechenlampe return value: Unknown command for, try help.
Unknown command $i, try help.
Unknown command $i++), try help.

Kuechenlampe:(up|down).* {my $dim=ReadingsVal($NAME,"dim",0); $dim+=$EVENT eq "up"?10:-10; $dim=$dim>100?100:$dim<0?0:$dim; fhem "setreading $NAME dim $dim"}
--> hier wird nicht gemeckert
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

DeeSPe

Zitat von: tklein am 24 Februar 2017, 11:50:05
mmhhmmm:

Kuechenlampe:up for ( my $i=1; $i !=15; $i++) {{system(" /home/pi/433Utils/RPi_utils/codesend 15883556 &")}}
--> da wird gemeckert: (ohne my wird auch gemeckert)

Log:

2017.02.24 11:06:17 3: up_Kuechenlampe return value: Unknown command for, try help.
Unknown command $i, try help.
Unknown command $i++), try help.

Kuechenlampe:(up|down).* {my $dim=ReadingsVal($NAME,"dim",0); $dim+=$EVENT eq "up"?10:-10; $dim=$dim>100?100:$dim<0?0:$dim; fhem "setreading $NAME dim $dim"}
--> hier wird nicht gemeckert

Wenn dann so:
define up_Kuechenlampe notify Kuechenlampe:up {for (my $i=1;;$i!=15;;$i++) {`/home/pi/433Utils/RPi_utils/codesend 15883556 &`}}

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

tklein

geil!! Das klappt.

Als was muss ich die Lampe jetzt deklarieren, damit ich die mit meinem StandardSkill schalten kann? Derzeit wird sie von Alexa werder mit Typ (genericDeviceType) lamp noch switch gefunden.
24 andere werden aber gefunden.


define Kuechenlampe dummy
attr Kuechenlampe alexaName Stripetest
attr Kuechenlampe alexaRoom Kueche
attr Kuechenlampe genericDeviceType lamp
attr Kuechenlampe group Stripes
attr Kuechenlampe room Küche,Stripes,Homekit,alexa
attr Kuechenlampe setList toggle up down
attr Kuechenlampe webCmd toggle:up:down
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

DeeSPe

Zitat von: tklein am 24 Februar 2017, 15:02:33
geil!! Das klappt.

Als was muss ich die Lampe jetzt deklarieren, damit ich die mit meinem StandardSkill schalten kann? Derzeit wird sie von Alexa werder mit Typ (genericDeviceType) lamp noch switch gefunden.
24 andere werden aber gefunden.


define Kuechenlampe dummy
attr Kuechenlampe alexaName Stripetest
attr Kuechenlampe alexaRoom Kueche
attr Kuechenlampe genericDeviceType lamp
attr Kuechenlampe group Stripes
attr Kuechenlampe room Küche,Stripes,Homekit,alexa
attr Kuechenlampe setList toggle up down
attr Kuechenlampe webCmd toggle:up:down


Ich nehme an es liegt am nicht vorhandenen "on off" in "setList".
Kenne zwar die Alexa Mappings nicht, aber bei homebridge ist das so dass diese in der setList sein müssen damit es erkannt wird.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

tklein

jetzt habe ich sie mit Alexa gefunden. Allerdings kann ich nicht dimmen. Befehl kann für das Gerät nicht gefunden werden. Das sollte der Standardskill doch auch können oder?
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

Master_Nick

Meinen Dummy kann ich mit dem Smart Home Skill (dem nicht Custom) Dimmen schau mal hier rein und vergleiche mit deinem:
https://forum.fhem.de/index.php/topic,67721.0.html
Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)

tklein

Danke dafür, werde sehen, ob ich das anpassen/verstehen kann.
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

Master_Nick

Du kannst mich auch gerne Fragen, bei Unklarheiten - dein Thread hier hat mir maßgeblich geholfen.
Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)

tklein

da komme ich doch gleich drauf zurück. Bitte im Hinterkopf haben, dass ich ein Frischling bin.

attr Stripe homebridgeMapping Brightness=state,cmd=
--> was sagt das genau aus?

attr Stripe setList value:slider,0,1,100 on off
attr Stripe webCmd value
--> kann man so einfach die Werte aus der SetList übernehmen? Cool.

Wie müsste ich meinen Code anpassen, damit es bei mir auch klappt:


define Kuechenlampe dummy
attr Kuechenlampe alexaName Stripetest
attr Kuechenlampe alexaRoom Kueche
attr Kuechenlampe genericDeviceType lamp
attr Kuechenlampe group Stripes
attr Kuechenlampe room Küche,Stripes,Homekit,alexa
attr Kuechenlampe setList toggle up down on off
attr Kuechenlampe webCmd toggle:up:down:on:off

define toggle_Kuechenlame notify Kuechenlampe:toggle {`/home/pi/433Utils/RPi_utils/codesend 11508417 &`}
define up_Kuechenlampe notify Kuechenlampe:up {for (my $i=1;;$i!=10;;$i++) {`/home/pi/433Utils/RPi_utils/codesend 11508420 &`}}
define down_Kuechenlampe notify Kuechenlampe:down {for (my $i=1;;$i!=10;;$i++) {`/home/pi/433Utils/RPi_utils/codesend 11508418 &`}}
define n_Kuechenlampe_up_down notify Kuechenlampe:(up|down).* {my $dim=ReadingsVal($NAME,"dim",0);; $dim+=$EVENT eq "up"?10:-10;; $dim=$dim>100?100:$dim<0?0:$dim;; fhem "setreading $NAME dim $dim"}
define off_Kuechenlampe notify Kuechenlampe:off {system(" /home/pi/433Utils/RPi_utils/codesend 11508417 &")}
define on_Kuechenlampe notify Kuechenlampe:on { system("/home/pi/433Utils/RPi_utils/codesend 11508417 &")}


Hast du das genutzt?:


sub my_HierDimmeIch($)
{
  my ($Event) = @_;
  my $ActValue = ReadingsNum("Gerät", "Reading", Default);

  # um zu sehen was kommt / wenn zu viel/falsches kommt evtl. dann statt $EVENT -> $EVTPART1 $EVTPART2 etc. (hier wäre dann das mit value auch kein Problem: EVTPART1 oder EVTPART2 wäre dann nur die Zahl)
  Log(1, "my_HierDimmeIch   Event: $Event");

  # hier was immer nötig ist zu dimmen

  # abspeichern des aktuellen Wertes
  {fhem "setReading DIMMDUMMY READING_NAME $ActValue "}

}


Wo kam das her?


setreading Streifen newstate [Streifen:state]
if ([Streifen:state] = "on") { set Stripe.Strom on }
if ([Streifen:state] = "off") { set Stripe.Strom off }
if ([Streifen:state] = "0") { set harmony_37861872 Dimm- }
if ([Streifen:state] = "5") {}


Hoffe, du hast viel Geduld  :D
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

Master_Nick

#25
Vorab: Alle Antworten spiegeln mein aktuelles Wissen wieder :-) Sie müssen nicht fehlerfrei sein.

attr Stripe homebridgeMapping Brightness=state,cmd=
--> was sagt das genau aus? 

Antwort: Es gibt an Alexa weiter, dass der Device ein Helligkeitslevel beinhaltet und gedimmt werden kann und das über das Reading state. Also ein Dimmwert wird in das Reading state geschrieben. Das cmd= muss definiert werden sonst tauch ein undefined vor dem Dimmwert im Reading State auf. Ursprünglich stand dort value, aber meine weitere Planung kann da reine Zahlen besser verarbeiten als Text + Zahl. Somit über probieren heraus bekommen, dass es so einfach nur einen Zahlenwert liefert.


Wie müsste ich meinen Code anpassen, damit es bei mir auch klappt?

Antwort - da kommt darauf an wie du per Sprache deinen Device steuern möchtest. Ich arbeite mit schalte ein/aus und schalte auf X %. Oder Setze auf X %.
Wie dein up und down als Sprachbefehl lauten soll ist mir unklar :-) Aber heller und dunkler wäre ja ne Idee sofern das integriert ist.

Meine Idee daher für den Dummy:

define Kuechenlampe dummy
attr Kuechenlampe alexaName Stripetest
attr Kuechenlampe alexaRoom Kueche
attr Kuechenlampe genericDeviceType light
attr Kuechenlampe group Stripes
attr Kuechenlampe room Küche,Stripes,Homekit,alexa
attr Kuechenlampe setList state:slider,0,1,100 toggle up down on off
attr Kuechenlampe webCmd state

Für dein Notify, du könntest es auch alles in ein Notify packen:

define Steuerung_Kuechenlame notify Kuechenlampe {
if ([Kuechenlampe:state] = "toggle") {`/home/pi/433Utils/RPi_utils/codesend 11508417 &`}
if ([Kuechenlampe:state] = "up") {for (my $i=1;;$i!=10;;$i++) {`/home/pi/433Utils/RPi_utils/codesend 11508420 &`}}
if ([Kuechenlampe:state] = "down") {for (my $i=1;;$i!=10;;$i++) {`/home/pi/433Utils/RPi_utils/codesend 11508418 &`}}
if ([Kuechenlampe:state] = "off") {system(" /home/pi/433Utils/RPi_utils/codesend 11508417 &")}
if ([Kuechenlampe:state] = "on") { system("/home/pi/433Utils/RPi_utils/codesend 11508417 &")}
}

Es fehlt aktuell genau das, was ich selber noch für mich bauen muss und noch nicht so funktional umsetzen kann wie ich es möchte.
Ein if, dass auf alle Zahlenwerte im Reading state reagiert und bemessen an einem gespeicherten Wert des Dimmstandes dementsprechend oft hoch oder runter dimmt.
Das ist definitiv machbar indem man über einen regex auf state reagiert. Aber es ist etwas mehr logik und etwas komplexer... noch fehlte mir da die Zeit ;-D

Mein erster Versuch (zugegeben sehr abstrakt gehalten und ohne alle Zahlen in einem statement abzufrühstücken) war ja hier zu sehen: https://forum.fhem.de/index.php/topic,67721.msg592622.html#msg592622


Den nachfolgenden versteh ich gerade nicht was er machen soll, bzw den Sinn :-D
define n_Kuechenlampe_up_down notify Kuechenlampe:(up|down).* {my $dim=ReadingsVal($NAME,"dim",0);; $dim+=$EVENT eq "up"?10:-10;; $dim=$dim>100?100:$dim<0?0:$dim;; fhem "setreading $NAME dim $dim"}


Hast du das genutzt?
"sub my_HierDimmeIch($)"

Antwort: bisher noch nicht getestet oder ausgewertet.

Wo kam das her?
setreading Streifen newstate [Streifen:state]
if ([Streifen:state] = "on") { set Stripe.Strom on }
if ([Streifen:state] = "off") { set Stripe.Strom off }
if ([Streifen:state] = "0") { set harmony_37861872 Dimm- }
if ([Streifen:state] = "5") {}

Antwort: Von mir, ein erster gedanklicher Entwurf. Der würde noch auf Einzelzahlen reagieren statt alles in einem abzuarbeiten.

set Stripe.Strom on/off <- schaltet meinen IT Aktor ein der als Gerät in FHEM definiert ist.
set harmony_37861872 Dimm- und set harmony_37861872 Dimm+ dimmt über meinen Harmony Hub meinen LED Stripe.


Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)

tklein

Salve,

attr Kuechenlampe setList state:slider,0,1,100 toggle up down on off
--> die Werte 0,1 und on,off haben doch die identische Wirkung, oder? was sagt die 100 aus?

Zitat
define n_Kuechenlampe_up_down notify Kuechenlampe:(up|down).* {my $dim=ReadingsVal($NAME,"dim",0);; $dim+=$EVENT eq "up"?10:-10;; $dim=$dim>100?100:$dim<0?0:$dim;; fhem "setreading $NAME dim $dim"}
--> das hat mir ein FHEM-Kollege (DeeSPe) zum Thema "Brightness Characteristic" gecoded. Verstanden habe ich das nicht richtig. Es geht darum, dass der Wert nicht unter 0 und über 100 gehen darf.

Zitat
attr Stripe homebridgeMapping Brightness=state,cmd=
--> das kann ich so übernehmen oder muss das erweitert werden? Falls ja wie/womit?

Fragen über Fragen.... :-)
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

DeeSPe

Wie schon erwähnt kenne ich mich nicht mit Alexa Mapping aus, sondern nur für homebridge.
Da aber beide vom selben Entwickler sind, gehe ich davon aus dass es auch ähnlich funktioniert.
Brightness musst Du mitteilen wo es seine Werte findet (Reading) und wie es diese setzen kann.

attr Stripe homebridgeMapping Brightness=dim,cmd=

Das Problem ist das cmd! Da es bei Dir kein cmd gibt mit welchem Du das Licht auf einen bestimmten Helligkeitswert setzen kannst. Du kann nur hoch/runter dimmen.
Sicher könnte man da auch noch was bauen, aber ein "dummes Devices" bleibt halt ein "dummes Device".

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Master_Nick

Also mit meinem kann ich den Dummy auf einen bestimmten Wert setzen. Problem ist aktuell auf diesen Wert auch richtig zu reagieren ;-)
Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)

tklein

FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

Master_Nick

Wo genau ist denn nun dein Problem noch?

Ich muss nur noch die Logik schreiben, dass er auf die Werte dimmt und nicht pauschal ganz runter und dann hoch auf den Wert.

Der Rest geht bei mir.
Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)

tklein

FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

Master_Nick

#32
Hast du jemals meinen von mir auf einer Seit vorher verlinkten Thread gelesen?  ;)

Da steht alles was dein Dummy braucht damit du ihm über Alexa die Werte geben kannst. Lediglich das Notify ist noch nicht dabei.

Und auch das heller dunkler.... dafür brauchst du zum einen Alexa-FHEM in der Version mit frei definierbaren Dingen: https://forum.fhem.de/index.php/topic,67490.0.html (denke ich)
Oder du versucht es einfach mal meinen Dummy zu bauen und zu sagen setze auf HELLER.

Eventuell wird diese Value ja schon übergeben, dann brauchst du nur ein Notify, dass auf diesen State "heller" reagiert.
Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)

Master_Nick

Soo ich kann dir was schönes sagen :-)

Mein Dummy kann von Alexa per "Setze Streifen auf dunkler" gedimmt werden hoch und runter.

Er ändert einfach den Wert von 0 bis 100 oder eben von 100 bis 0 in 25er Schritten (0, 25, 50, 75, 100). Du brauchst also nichts bauen mit Dim Up oder Dim Down. Ob man die Schritte anpassen kann, weiß ich aktuell nicht.
Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)

tklein

Hi,

klasse. Das freut mich für dich.

Das Thema mit dem Mapping/Alexa ist für mich momentan echt noch zu hoch für mich. Schaffe selbst das Beispiel in dem anderen Thread mit der Temperatur/Feuchtigkeitsansage im Raum xy nicht.  :'(
Mal schauen, ob das noch besser wird.


Woher weiss sie denn wie lange sie senden muss? Bzw. wie der Status momentan ist?
Vielleicht schaffe ich mein Stripe auch noch dimmbar zu machen.


define Kuechenlampe dummy
attr Kuechenlampe userattr dim_status
attr Kuechenlampe alexaName Stripetest
attr Kuechenlampe alexaRoom Kueche
attr Kuechenlampe genericDeviceType light
attr Kuechenlampe group Stripes
attr Kuechenlampe homebridgeMapping on=Kuechenlampe:toggle,off=Kuechenlampe:toogle,down=Kuechenlampe:down,up=Kuechenlampe:up
attr Kuechenlampe icon light_led_stripe
attr Kuechenlampe room Küche,Stripes,Homekit,alexa
attr Kuechenlampe setList toggle up down on off
attr Kuechenlampe webCmd toggle:up:down:on:off

define toggle_Kuechenlame notify Kuechenlampe:toggle {`/home/pi/433Utils/RPi_utils/codesend 11508417 &`}
define up_Kuechenlampe notify Kuechenlampe:up {for (my $i=1;;$i!=10;;$i++) {`/home/pi/433Utils/RPi_utils/codesend 11508420 &`}}
define down_Kuechenlampe notify Kuechenlampe:down {for (my $i=1;;$i!=10;;$i++) {`/home/pi/433Utils/RPi_utils/codesend 11508418 &`}}
define n_Kuechenlampe_up_down notify Kuechenlampe:(up|down).* {my $dim=ReadingsVal($NAME,"dim",0);; $dim+=$EVENT eq "up"?10:-10;; $dim=$dim>100?100:$dim<0?0:$dim;; fhem "setreading $NAME dim $dim";; fhem "set Kuechenlampe dim_status $dim"
define off_Kuechenlampe notify Kuechenlampe:off {system(" /home/pi/433Utils/RPi_utils/codesend 11508417 &")}
define on_Kuechenlampe notify Kuechenlampe:on { system("/home/pi/433Utils/RPi_utils/codesend 11508417 &")}

FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2