Klimaanlage per IR-Blaster und Alexa Steuern [gelöst]

Begonnen von CatWeazle, 25 Juni 2020, 20:00:41

Vorheriges Thema - Nächstes Thema

CatWeazle

Hi Leutz,

und es ist Sommer, ja ! da war doch noch was ... ... ...

Also, das Problem:

Im letzten Jahr habe ich meine Baumarkt-Splitanlage noch über die HA-Bride gesteuert.

Dabei musste ich schon trixen, da die IR-Fernbedinung bei jedem Tastendruck alle Parameter sendet.
Also drücke ich Temp (-) wird nicht nur die neue Temp. sagen wir es war 23° -> 22° gesendet, sondern auch die Lüftereinstellung, sowie die Funktion ( Kühlen, Trocknen, Luftdüsensteuerung ... ... ) usw.

Das ist scheinbar erforderlich, da es keinen Rückkanal von der Klima zur IR-Bedienung gibt.

Also habe ich für mich den RAW-Code eingelesen für:
1. Kühlen 22°, Kühlen 23°, Kühlen 24°
2. Entfeuchten 22°, Entfeuchten 23°, Entfeuchten 24°,
3. Klima On
4. Klima Off

Diese 8 Befehle habe ich als RAW im IR-Blaster angelegt:
Kühlen:
IR_Klima22
IR_Klima23
IR_Klima24

Entfeuchten:
IR_KLIMA53
IR_KLIMA54
IR_KLIMA55

Power:
IR_KLIMAON
IR_KLIMAOFF

Über die HA-Bridge habe ich dann den gewünschten Befehl senden lassen
"Alexa stelle Klima auf 22" und es wurde IR_Klima22 ausgelöst (Kühlen 22°)
"Alexa stelle Klima auf 54" und es wurde IR_Klima54 ausgelöst (Trocknen 24°)
ON/OFF ebenso ...

So kann ich mit Alexa-FHEM nicht umspringen!

Wie mache ich es da ?!?!?!

*




Grüße, Mike

*******************************************************
 *******  Wird Zeit für besser Wetter !  ********
*******************************************************

MadMax-FHEM

Warum soll das mit alexa-fhem nicht gehen!?

(schlimmstenfalls) einen dummy als Thermostat, dem dann setList und ein Reading temperature bzw. desired-temp geben, dann sollte die entspr. Temperatur an den dummy bzw. dessen temperature Reading gegeben werden...

notify auf dummy:temperature und dann eben die entspr. Befehle senden...

Evtl. geht das auch geschickter mit readingsProxy...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

CatWeazle

Hallo Joachim,

die Idee mit dem Dummy hatte ich auch schon.

Aber wenn ich es so mache, habe ich acht Notyfy, bei den genannten acht Funktionen.

Es wäre eleganter über einen "choice Befehl" oder so

Ich schlaf mal drüber

*
Grüße, Mike

*******************************************************
 *******  Wird Zeit für besser Wetter !  ********
*******************************************************

MadMax-FHEM

Warum 8 Notify!?

Ein notify und dann eine sub in myUtils!?

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

CatWeazle

Aha !

Das klingt doch brauchbar!  :)
Gibt es eine Strickanleitung zum Umgang mit der sub in myUtils!

Diese Beiden kenne ich wie vieles Andere auch noch nicht  :-\

*

Grüße, Mike

*******************************************************
 *******  Wird Zeit für besser Wetter !  ********
*******************************************************

MadMax-FHEM

#5
Weil ich grad Zeit hatte, hier ein passender dummy (rawdefinition):


defmod dmThermostat dummy
attr dmThermostat alexaName Klima
attr dmThermostat genericDeviceType thermostat
attr dmThermostat readingList desired-temp measured-temp
attr dmThermostat room Test
attr dmThermostat setList desired-temp measured-temp

setstate dmThermostat desired-temp 20
setstate dmThermostat 2020-06-25 20:51:13 desired-temp 20
setstate dmThermostat 2020-06-25 20:42:21 measured-temp 20


EDIT: ich denke readingList kann sogar weg... Jetzt geht: "Alexa stelle Klima auf 25 Grad". Dann landet die 25 in der Sub... Du kannst auch mit "setreading dmThermostat measured-temp Wert" die Temp (oder auch eine andere [gemessene]) "zurück schreiben", diese kannst du dann auch abfragen: "Alexa wie ist die Temperatur von Klima"...

und ein notify:


defmod nThermostat notify dmThermostat:desired-temp.* {my_ControlKlima($EVTPART1)}


und dann eben eine sub:


sub my_ControlKlima($)
{
  my ($Temp) = @_;

  Log3(undef,1,"my_ControlKlima    Temp: $Temp");

  # fhem("schalte Temp $Temp / schalte dies und schalte das");
}


https://wiki.fhem.de/wiki/99_myUtils_anlegen

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

CatWeazle

Oh, vielen Dank!

Das werde ich mir ansehen, aber heute nicht mehr.

Beste Grüße
Mike
Grüße, Mike

*******************************************************
 *******  Wird Zeit für besser Wetter !  ********
*******************************************************

CatWeazle

#7
Hallo Joachim,

einen Dummy als thermostat anzulegen funktioniert, allerdings funktioniert ON / OFF nicht ?!?!?

Habe dann einen Dummy als light angelegt, ind den Readings "state" steht dann ON / OFF / oder gewählte Temp. z.B. 22

defmod WZ_Klima dummy
attr WZ_Klima alexaName Klimaanlage
attr WZ_Klima genericDeviceType light
attr WZ_Klima homebridgeMapping Brightness=state,cmd=
attr WZ_Klima room Test
attr WZ_Klima setList :18,19,20,21,22,23,24,25 on off

setstate WZ_Klima 25
setstate WZ_Klima 2020-06-26 17:06:16 state 25


Auf dem Web-Oberfläche sieht alles gut aus, Alexa steuert den Dummy wie gewünscht.

Jetzt sollte notify folgen welches auf das Readin state von WZ_Klima reagiert und die Sub aufruft.

So?
defmod WZ_Klimaanlage notify WZ_Klima:state.* {my_ControlKlima($EVTPART1)}

Bin ich schon nahe dran  ::)

*

Grüße, Mike

*******************************************************
 *******  Wird Zeit für besser Wetter !  ********
*******************************************************

MadMax-FHEM

Wenn du on/off auch brauchst (wusste ich nicht), dann einfach setList um on/off erweitern (sollte reichen), dann Alexa reload...

Das Notify auf "state" wird so nicht (ohne weiteres) funktionieren.

Weil "normalerweise" state NICHT im Event steht...

Warum nimmst du nicht mein notify!?
Und erweiterst es um on/off!?

Also in etwa so:


defmod nThermostat notify dmThermostat:(on|off|desired-temp).* {my_ControlKlima($EVTPART1)}


Allerdings dann evtl. "umstellen" auf $EVENT statt $EVTPART1 und intern "splitten" bzw. halt mal loggen lassen WAS "ankommt", wird ja ausgegeben ;)

Ansonsten bzgl. notify: EventMonitor öffnen, auf entspr. Event "warten" und den dann markieren und -> "create/modify" und anlegen lassen...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

MadMax-FHEM

Ah, ok, du hast "umgestellt" auf light mit Brightnes...
Hmmm...

Dann wohl: EventMonitor und wie beschrieben Event "erzeugen lassen"...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

CatWeazle

Oh, auf die Idee bin ich aus Unwissenheit nicht gekommen.

Nun sieht es so aus, Temp und on/off getrennt ?!?!?!?
defmod WZ_Klima dummy
attr WZ_Klima alexaName Klima
attr WZ_Klima genericDeviceType thermostat
attr WZ_Klima readingList desired-temp measured-temp
attr WZ_Klima room Test
attr WZ_Klima setList desired-temp measured-temp on off

setstate WZ_Klima off
setstate WZ_Klima 2020-06-26 17:45:59 desired-temp 21
setstate WZ_Klima 2020-06-26 17:51:21 state off

Grüße, Mike

*******************************************************
 *******  Wird Zeit für besser Wetter !  ********
*******************************************************

MadMax-FHEM

#11
Warum trennen!?

Dummy wie folgt:


defmod dmThermostat dummy
attr dmThermostat alexaName Klima
attr dmThermostat genericDeviceType thermostat
attr dmThermostat homebridgeMapping homebridgeMapping On:reading=state,cmdOn=on,cmdOff=off
attr dmThermostat readingList desired-temp measured-temp
attr dmThermostat room Test
attr dmThermostat setList on off desired-temp measured-temp

setstate dmThermostat on
setstate dmThermostat 2020-06-25 21:03:05 desired-temp 20
setstate dmThermostat 2020-06-25 20:42:21 measured-temp 20
setstate dmThermostat 2020-06-26 18:04:48 state on



Dann geht an/aus und Temperatur (und wenn du measured-temp "nachziehst" dann kannst du auch abfragen)...

EDIT: also nur on/off erweitern reicht (weil genericDeviceType Thermostat) leider nicht, sorry. Du brauchst noch ein homeBridgeMapping was alexa-fhem "sagt" wie ein/aus gehen ;)

EDIT: wenn du bestimmte Schritte oder Grenzen etc. bei der Temp willst, dann kannst du das auch entsprechend per homeBridgeMapping angeben. Einfach das on/off-Mapping "erweitern"... Hier sind Beispiele: https://wiki.fhem.de/wiki/FHEM_Connector_f%C3%BCr_Amazon_Alexa#Ger.C3.A4te_im_FHEM-Webfrontend_zuweisen oder hier:https://wiki.fhem.de/wiki/Alexa_und_Mappings#homebridgeMapping

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

CatWeazle

Hmmm,

wenn ich diesen, Deinen letzten Dummy nehme, antwortet Alexa auf "schalte Klimaanlage ein (oder auf aus)" "Klimaanlage unterstützt das nicht"
Temp. kann man wählen.
Fhem zuvor rebootet und Gerät bei Alexa-online erst entfernt und neu suchen lassen.

Das Light-Dummy hat eigentlich funktioniert und trägt den aktuellen Zustand in sein Reading "state" ein.

Wenn ich Dich richtig verstanden habe, ist dieses Reading nicht so leicht weiter zu verarbeiten ?!?!??

Zur Not bastele ich mir acht einzelne notify, die auf den Dummy reagieren.   :-\

*
Grüße, Mike

*******************************************************
 *******  Wird Zeit für besser Wetter !  ********
*******************************************************

MadMax-FHEM

Also der dummy den ich gepostet habe hat bei mir funktioniert!

Temperatur UND ein/aus!

Hast du ihn mal über die Weboberfläche ein/aus geschaltet!?

(sollte aber eigentlich in den set bei raw definition passiert sein! Hast du die raw defintion auch KOMPLETT eingegeben!?)

Das Gerät noch mal aus Alexa-App gelöscht!?

Alexa-Modul -> reload (reicht)

Und dann neu suchen lassen!?

EDIT: poste doch mal ein aktuelles list von dem Temp-Dummy...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

CatWeazle

Hallo Joachim,

also ich habe jetzt eine Lösung mit dem Light-Dummy, einem notify der den Setbefehl für den IR-Blaster mit Hilfe der $EVENT Variable auslöst.

*
Grüße, Mike

*******************************************************
 *******  Wird Zeit für besser Wetter !  ********
*******************************************************