FHEM Forum

FHEM - Hausautomations-Systeme => Zigbee => Thema gestartet von: Neuhier am 04 Januar 2019, 22:54:56

Titel: Aqara Cube
Beitrag von: Neuhier am 04 Januar 2019, 22:54:56
So, mal meine Erfahrungen mit dem Würfel.
Er ist hier per zigbee2mqtt über einen CC2351 eingebunden.
Readings:
action = wakeup, flip90/180, shake, rotate_left/right, tap, slide
angle = Drehung in Grad ( postive Anzeige nach rechts, negative nach links)
from_side = letzte Seite, die nach oben gezeigt hat
side =
to_side = aktuell obenliegende Seite
battery
battery_level
linkquality
transmissionstate
voltage


Seiten Nummerierung
Beschriftung = 0
oben = 2
rechts = 1
unten = 5
links = 4
Unterseite = 3


Änderung der Seiten nur beim Kippen, drehen hat da keinen Einfluß.
Bisher eingerichtet:
linksdrehen = TV leiser, rechtsdrehen = lauter
90° kippen = Sender aufwärts, 180° kippen = Sender abwärts
shake = Mute

In Arbeit:
klopfen: schaltet Steuerung von TV auf Surroundsystem - Lautstärke und Sender

Wenn man nun noch die Auswertung macht, von welcher Seite gekippt wurde und wohin, hat man noch einige "Steuerbefehle" zusätzlich.

Slide ergänzt.
Titel: Antw:Aqara Cube
Beitrag von: OdfFhem am 04 Januar 2019, 23:49:54
Meine Cubes sind ebenfalls per zigbee2mqtt eingebunden.

Es gibt noch eine action namens slide, die beim Schieben des Cube ausgelöst wird.

Die Readings battery_level sowie transmissionstate sind bei mir nicht vorhanden.

Ich steuere - abhängig von side - unterschiedliche Geräte/Gerätegruppen durch tap,rotate_*,shake und slide; für die flip-Events fehlt mir noch eine "plausible/merkbare" Logik ...
Titel: Antw:Aqara Cube
Beitrag von: rippi46 am 21 Januar 2019, 13:02:56
Hallo OdfFhem,

ich habe bei mir das Reading to_Side ausgewertet und schalte meinen piCoreplayer im Badezimmer auf einen bestimmten Sender. Mit Rechts- bzw. Linksdrehung mach ich laut und leise. Mit Schütteln schalte ich den Player ein und aus und mit Slide schalte ich den Bewegungsmelder aus. Tap schaltet den Bewegungsmelder wieder ein.


Gruß rippi
Titel: Antw:Aqara Cube
Beitrag von: TomLee am 21 Januar 2019, 15:42:29
Mich interessiert es weniger was ihr damit steuert, eher wie es umesetzt wurde.

Bei mir hab ich das weil es mir am einfachsten vorkam mit einem DOIF gelöst, wie sieht das bei euch aus.
Geht es kürzer/übersichtlicher/einfacher ?


defmod doif_Cube DOIF ([MQTT2_zigbee_cube:action] eq "rotate_left" and [MQTT2_zigbee_cube:to_side] eq "0")(set TV_Wohnzimmer channelUp) DOELSEIF\
([MQTT2_zigbee_cube:action] eq "rotate_right" and [MQTT2_zigbee_cube:to_side] eq "0")(set TV_Wohnzimmer channelDown) DOELSEIF\
([MQTT2_zigbee_cube:action] eq "rotate_left" and [MQTT2_zigbee_cube:to_side] eq "1")(set TV_Wohnzimmer volumeUp) DOELSEIF\
([MQTT2_zigbee_cube:action] eq "rotate_right" and [MQTT2_zigbee_cube:to_side] eq "1")(set TV_Wohnzimmer volumeDown) DOELSEIF\
([MQTT2_zigbee_cube:action] eq "tap" and [MQTT2_zigbee_cube:to_side] eq "4")(set MQTT2_Milight_Wohnzimmer toggle) DOELSEIF\
([MQTT2_zigbee_cube:action] eq "rotate_left" and [MQTT2_zigbee_cube:to_side] eq "4")(set MQTT2_Milight_Wohnzimmer hue {([MQTT2_Milight_Wohnzimmer:hue]+2)}) DOELSEIF\
([MQTT2_zigbee_cube:action] eq "rotate_right" and [MQTT2_zigbee_cube:to_side] eq "4")(set MQTT2_Milight_Wohnzimmer hue {([MQTT2_Milight_Wohnzimmer:hue]-2)}) DOELSEIF\
([MQTT2_zigbee_cube:action] eq "wakeup" and [?05:30-10:00])(set Sonos_Wohnzimmer_PLAY3 Speak 15 de |Temple| Test. Die Außentemperatur beträgt zur Zeit [HF_Aussensensor_Vorderhaus:temperaturegerundet] °. Die Tageshöchsttemperatur liegt bei [WetterMutterstadt:fc1_high_c] ° )
attr doif_Cube do always


Grüße

Thomas
Titel: Antw:Aqara Cube
Beitrag von: rippi46 am 21 Januar 2019, 18:20:38
Hallo TomLee,

Hier das DOIF von meinem Würfel:
defmod m_badplayer_sender DOIF ([0x00158d00027cefec:to_side] eq 1)(set SB_PLAYER_b827ebfce926 favorites SWR3_938_Top_40Pop) DOELSEIF ([0x00158d00027cefec:to_side] eq 2)(set SB_PLAYER_b827ebfce926 favorites Radio_Regenbogen_1011_Top_40Pop) DOELSEIF ([0x00158d00027cefec:to_side] eq 3)(set SB_PLAYER_b827ebfce926 favorites Absolut_relax_Easy_Listening) DOELSEIF ([0x00158d00027cefec:to_side] eq 4)(set SB_PLAYER_b827ebfce926 favorites pani_schlager) DOELSEIF ([0x00158d00027cefec:to_side] eq 0)(set SB_PLAYER_b827ebfce926 favorites Hit_Radio_Ohr_1049_Adult_Contemporary) DOELSEIF ([0x00158d00027cefec:to_side] eq 5)(set SB_PLAYER_b827ebfce926 favorites Enya) DOELSEIF ([0x00158d00027cefec:action] eq "shake") (set HM_341730 toggle;; set SB_PLAYER_b827ebfce926 volume 50) DOELSEIF ([0x00158d00027cefec:action] eq "tap") (set m_badplayer2 disable;;set SB_PLAYER_b827ebfce926 stop) DOELSEIF ([0x00158d00027cefec:action] eq "slide") (set m_badplayer2 initialize)
attr m_badplayer_sender do always
attr m_badplayer_sender room Bad


und laut leise mit:
defmod BadLautLeise notify 0x00158d00027cefec.* {\
my $radio_volume = ReadingsVal("SB_PLAYER_b827ebfce926","volume","");;\
if \
(ReadingsVal("0x00158d00027cefec","action","") eq "rotate_left"){\
    if ($radio_volume <= 5) {\
   $radio_volume = 0;;\
   }\
else {\
$radio_volume = $radio_volume-5;;\
}\
} \
elsif \
(ReadingsVal("0x00158d00027cefec","action","") eq "rotate_right"){\
   if ($radio_volume >= 95) {\
   $radio_volume = 100;;\
   }\
else {\
$radio_volume = $radio_volume+5;;\
} \
}\
fhem( "set SB_PLAYER_b827ebfce926 volume $radio_volume" );;\
return $radio_volume;;\
}
attr BadLautLeise room Bad


Gruß rippi
Titel: Antw:Aqara Cube
Beitrag von: laberlaib am 14 März 2019, 22:33:03
Hi,
ich habe meinen Cube heute erhalten und angebunden.
Allerdings nur ein reading "action".

Könnt Ihr mal eure Konfigurationen posten? Ein MQTT-Template gibts dafür (noch) nicht?

Edith: Ach so, im log seh ich jetzt ja plötzlich viel mehr!
Dann am Wochenende mal richtig konfigurieren...
Ok, F5...
Hab alles

action
angle
associatedWith
from_side
linkquality
side
to_side


und eine neue action: fall
Titel: Antw:Aqara Cube
Beitrag von: Capu am 18 März 2019, 20:46:24
Zitat von: laberlaib am 14 März 2019, 22:33:03
Ein MQTT-Template gibts dafür (noch) nicht?

Gibt es...
https://forum.fhem.de/index.php/topic,94495.msg918079.html#msg918079

Ist auch schon in die offizielle mqtt2.template eingefügt: L_14_zigbee2mqtt_aqara_cube
Titel: Antw:Aqara Cube
Beitrag von: ohosch am 13 Februar 2021, 09:32:11
Moin,
ich bringe das Thema mal wieder hoch.
Ich habe eine Konfig gebaut, in der jede Seite eine andere Lampe oder Gruppe steuert. Damit wird die Gradzahl der Drehung genutzt um Lampen zu Dimmen.

- Würfel auf eine Seite kippen ändert das User Reading Seite.
- Anstupsen oder auf den Tisch klopfen schaltet Lampen ein oder aus. Manchmal schalte ich explizit manchmal toggle ich. Ich bin mir noch nicht sicher, ob das toggeln immer sauber funktioniert.
- Eine Drehung führt dazu, dass die Lampe gedimmt wird.

Der Cube ist über DeConz angebunden und in 2 Devices aufgeteilt. Eins für die Kipp und Stups Aktionen und das andere für die Rotation.
Ich habe mir ein paar Hilfsreadings gebaut. Es gibt noch hin und wieder ungewollte Aktionen, und die Events beeinflussen sich manchmal noch gegenseitig, aber so wie es ist, ist es schon mal ganz gut

Das Device für die Flip Operationen:

Internals:
   DEF        sensor 26  IODev=ConBee_DeConz
   FUUID      601ba320-f33f-51bc-db8c-59fe5f9d51067625
   FVERSION   31_HUEDevice.pm:0.233440/2020-12-13
   ID         S26
   INTERVAL   
   IODev      ConBee_DeConz
   NAME       Magic_Cube_1_flip
   NR         1262
   STATE      7000
   TYPE       HUEDevice
   lastupdated 2021-02-13 07:00:36
   lastupdated_local 2021-02-13 08:00:36
   manufacturername LUMI
   modelid    lumi.sensor_cube.aqgl01
   name       Mi Magic Cube
   on         1
   reachable  1
   swversion  20160704
   type       ZHASwitch
   uniqueid   00:15:8d:00:05:d9:d1:38-02-0012
    READINGS:
     2021-02-13 08:54:43   Kommando        7000
     2021-02-12 18:32:26   Seite           5
     2021-02-13 08:54:43   battery         100
     2021-02-13 08:54:43   batteryPercent  100
     2021-02-13 08:00:36   gesture         0
     2021-02-07 19:15:22   lastseen        2021-02-08T03:34Z
     2021-02-13 08:54:43   reachable       1
     2021-02-13 08:00:36   state           7000
     2021-02-13 08:54:43   temperature     22
   helper:
     devtype    S
     reachable  0
     update_timeout 1
     configList:
     json:
       ep         2
       etag       5572d452952a626ecb93dc97e506d858
       lastseen   2021-02-13T07:54Z
       manufacturername LUMI
       mode       1
       modelid    lumi.sensor_cube.aqgl01
       name       Mi Magic Cube
       swversion  20160704
       type       ZHASwitch
       uniqueid   00:15:8d:00:05:d9:d1:38-02-0012
       config:
         battery    100
         temperature 2200
       state:
         buttonevent 7000
         gesture    0
         lastupdated 2021-02-13T07:00:36.911
     setList:
Attributes:
   IODev      ConBee_DeConz
   event-on-update-reading Seite,Kommando
   model      lumi.sensor_cube.aqgl01
   room       HUEDevice
   userReadings Kommando { sprintf("%.0f", ReadingsVal("Magic_Cube_1_flip","state",0)) }
,Seite {if (ReadingsVal("Magic_Cube_1_flip", "state", 0) =~ /^100/) {return 1}}
{if (ReadingsVal("Magic_Cube_1_flip", "state", 0) =~ /^200/) {return 2}}
{if (ReadingsVal("Magic_Cube_1_flip", "state", 0) =~ /^300/) {return 3}}
{if (ReadingsVal("Magic_Cube_1_flip", "state", 0) =~ /^400/) {return 4}}
{if (ReadingsVal("Magic_Cube_1_flip", "state", 0) =~ /^500/) {return 5}}
{if(ReadingsVal("Magic_Cube_1_flip", "state", 0) =~ /^600/) {return 6}}
{if(ReadingsVal("Magic_Cube_1_flip", "state", 0) =~ /^700/) {return }}


Das Device für die Rotate Operationen:
Internals:
   DEF        sensor 25  IODev=ConBee_DeConz
   FUUID      60195740-f33f-51bc-bc0c-e31425a38532921f
   FVERSION   31_HUEDevice.pm:0.233440/2020-12-13
   ID         S25
   INTERVAL   
   IODev      ConBee_DeConz
   NAME       Magic_Cube_1_rotate
   NR         1256
   STATE      1332
   TYPE       HUEDevice
   lastupdated 2021-02-13 07:00:37
   lastupdated_local 2021-02-13 08:00:37
   manufacturername LUMI
   modelid    lumi.sensor_cube.aqgl01
   name       Mi Magic Cube
   on         1
   reachable  1
   swversion  20160704
   type       ZHASwitch
   uniqueid   00:15:8d:00:05:d9:d1:38-03-000c
   READINGS:
     2021-02-13 08:54:43   Grad            13
     2021-02-13 08:54:43   battery         100
     2021-02-13 08:54:43   batteryPercent  100
     2021-02-13 08:00:37   gesture         7
     2021-02-11 17:49:18   lastseen        2021-02-11T16:49Z
     2021-02-13 08:54:43   reachable       1
     2021-02-13 08:00:37   state           1332
     2021-02-13 08:54:43   temperature     22
   helper:
     devtype    S
     reachable  0
     update_timeout 1
     configList:
     json:
       ep         3
       etag       5572d452952a626ecb93dc97e506d858
       lastseen   2021-02-13T07:54Z
       manufacturername LUMI
       mode       1
       modelid    lumi.sensor_cube.aqgl01
       name       Mi Magic Cube
       swversion  20160704
       type       ZHASwitch
       uniqueid   00:15:8d:00:05:d9:d1:38-03-000c
       config:
         battery    100
         temperature 2200
       state:
         buttonevent 1332
         gesture    7
         lastupdated 2021-02-13T07:00:37.388
     setList:
Attributes:
   DbLogExclude .*
   IODev      ConBee_DeConz
   event-min-interval 0.5
   event-on-update-reading Grad
   model      lumi.sensor_cube.aqgl01
   room       HUEDevice
   userReadings Grad {sprintf("%.0f",(ReadingsVal("Magic_Cube_1_rotate", "state", 0)/100))}


Und zu guter letzt das DOIF, das die Aktionen auswertet:

Internals:
   DEF        (([Magic_Cube_1_flip:Kommando] eq 3003 or [Magic_Cube_1_flip:Kommando] eq 3000) and [HUEDevice56] ne "off" )(set HUEDevice56 off)
DOELSEIF
(([Magic_Cube_1_flip:Kommando] eq 3003 or [Magic_Cube_1_flip:Kommando] eq 3000) and [HUEDevice56] eq "off" )(set HUEDevice56 on)
DOELSEIF
(([Magic_Cube_1_flip:Kommando] eq 5005 or [Magic_Cube_1_flip:Kommando] eq 5000))(set HMIP_Kreuzschalter_EG_WZ_Lampe toggle)
DOELSEIF
([Magic_Cube_1_flip:Kommando] eq 4004 or [Magic_Cube_1_flip:Kommando] eq 4000)(set HMIP_Kreuzschalter_EG_EZ_Lampe toggle)
DOELSEIF
(([Magic_Cube_1_flip:Kommando] eq 6006 or [Magic_Cube_1_flip:Kommando] eq 6000) and [HUEGroup15:any_on] eq 1)(set HUEGroup15 off)
DOELSEIF
(([Magic_Cube_1_flip:Kommando] eq 6006 or [Magic_Cube_1_flip:Kommando] eq 6000) and [HUEGroup15:any_on] eq 0)(set HUEGroup15 on)
DOELSEIF
(([Magic_Cube_1_flip:Kommando] eq 2002 or [Magic_Cube_1_flip:Kommando] eq 2000) and [HUEGroup4:any_on] eq 1)(set HUEGroup4 off)
DOELSEIF
(([Magic_Cube_1_flip:Kommando] eq 2002 or [Magic_Cube_1_flip:Kommando] eq 2000) and [HUEGroup4:any_on] eq 0)(set HUEGroup4 on)
DOELSEIF
([Magic_Cube_1_flip:Kommando] eq 1001 or [Magic_Cube_1_flip:Kommando] eq 1000)(set HMIP_Kreuzschalter_EG_Kueche_Lampe toggle)
DOELSEIF
([Magic_Cube_1_flip:Kommando] eq 7007)(set HUEDevice56 off)(set HMIP_Kreuzschalter_EG_WZ_Lampe off)(set HMIP_Kreuzschalter_EG_EZ_Lampe off)(set HUEGroup15 off)(set HUEGroup4 off)(set HMIP_Kreuzschalter_EG_Kueche_Lampe off)


DOELSEIF


([Magic_Cube_1_rotate:Grad]  and [Magic_Cube_1_flip:Seite] eq 3)
(set HUEDevice56 pct {(ReadingsVal("HUEDevice56", "pct", 0) + ReadingsVal("Magic_Cube_1_rotate", "Grad", 0))})
DOELSEIF
([Magic_Cube_1_rotate:Grad] and [Magic_Cube_1_flip:Seite] eq 5)
(set ConBee_DeConz_HUEGroup3 pct {(ReadingsVal("ConBee_DeConz_HUEGroup3", "pct", 0) + ReadingsVal("Magic_Cube_1_rotate", "Grad", 0))})
DOELSEIF
([Magic_Cube_1_rotate:Grad] and [Magic_Cube_1_flip:Seite] eq 4)
(set ConBee_DeConz_HUEDevice6 pct {(ReadingsVal("ConBee_DeConz_HUEDevice6", "pct", 0) + ReadingsVal("Magic_Cube_1_rotate", "Grad", 0))})
DOELSEIF
([Magic_Cube_1_rotate:Grad] and [Magic_Cube_1_flip:Seite] eq 6)
(set HUEGroup15 pct {(ReadingsVal("HUEGroup15", "pct", 0) + ReadingsVal("Magic_Cube_1_rotate", "Grad", 0))})
DOELSEIF
([Magic_Cube_1_rotate:Grad] and [Magic_Cube_1_flip:Seite] eq 2)
(set HUEGroup4 pct {(ReadingsVal("HUEGroup4", "pct", 0) + ReadingsVal("Magic_Cube_1_rotate", "Grad", 0))})

   FUUID      601ba72c-f33f-51bc-f592-de7092f2eef4a853
   MODEL      FHEM
   NAME       Magic_Cube_1_auswerten
   NOTIFYDEV  HUEGroup4,HUEDevice56,global,HUEGroup15,Magic_Cube_1_rotate,Magic_Cube_1_flip
   NR         1263
   NTFY_ORDER 50-Magic_Cube_1_rotation_auswerten
   STATE      cmd_12
   TYPE       DOIF
   VERSION    23466 2021-01-03 17:14:46
    READINGS:
     2021-02-13 08:54:43   Device          Magic_Cube_1_rotate
     2021-02-13 08:54:43   cmd             12
     2021-02-13 08:54:43   cmd_event       Magic_Cube_1_rotate
     2021-02-13 08:54:43   cmd_nr          12
     2021-02-13 08:54:43   e_Magic_Cube_1_flip_Kommando 7000
     2021-02-12 18:32:26   e_Magic_Cube_1_flip_Seite 5
     2021-02-13 08:54:43   e_Magic_Cube_1_rotate_Grad 13
     2021-02-08 12:54:21   mode            enabled
     2021-02-13 08:54:43   state           cmd_12
Attributes:
   do         always
   event-on-change-reading .*
   room       Lichtsteuerung


Vielleicht kann ja jemand was mit anfangen :)

Viele Grüße
Ohosch
Titel: Antw:Aqara Cube
Beitrag von: Karsiacar am 09 Dezember 2021, 20:46:39
Hallo an die Mitglieder,

Muss hier auch noch mal eine Frage stellen.
Habe den Würfel so eingebunden:
1.

defmod MagicCubeflipp HUEDevice sensor 3  IODev=deCONZ
attr MagicCubeflipp IODev deCONZ
attr MagicCubeflipp event-on-change-reading .*
attr MagicCubeflipp icon wuerfel
attr MagicCubeflipp model lumi.sensor_cube.aqgl01
attr MagicCubeflipp room Wohnzimmer,deCONZDevice
attr MagicCubeflipp sortby 1

setstate MagicCubeflipp 2001
setstate MagicCubeflipp 2021-12-09 20:01:28 .lastupdated 2021-12-09 19:01:28
setstate MagicCubeflipp 2021-12-09 20:01:28 .lastupdated_local 2021-12-09 20:01:28
setstate MagicCubeflipp 2021-12-07 08:45:54 IODev deCONZ
setstate MagicCubeflipp 2021-12-09 20:19:25 battery 98
setstate MagicCubeflipp 2021-12-09 20:19:25 batteryPercent 98
setstate MagicCubeflipp 2021-12-09 20:01:28 gesture 3
setstate MagicCubeflipp 2021-12-02 00:09:52 lastseen 2021-12-01T23:20Z
setstate MagicCubeflipp 2021-12-09 20:19:25 reachable 1
setstate MagicCubeflipp 2021-12-09 20:01:28 state 2001
setstate MagicCubeflipp 2021-12-09 20:19:25 temperature 17

2.
defmod MagicCuberotate HUEDevice sensor 4  IODev=deCONZ
attr MagicCuberotate IODev deCONZ
attr MagicCuberotate event-on-change-reading .*
attr MagicCuberotate icon wuerfel
attr MagicCuberotate model lumi.sensor_cube.aqgl01
attr MagicCuberotate room Wohnzimmer,deCONZDevice
attr MagicCuberotate sortby 2

setstate MagicCuberotate 15606
setstate MagicCuberotate 2021-12-09 17:56:22 .lastupdated 2021-12-09 16:56:22
setstate MagicCuberotate 2021-12-09 17:56:22 .lastupdated_local 2021-12-09 17:56:22
setstate MagicCuberotate 2021-12-07 08:45:54 IODev deCONZ
setstate MagicCuberotate 2021-12-09 19:20:10 battery 98
setstate MagicCuberotate 2021-12-09 19:20:10 batteryPercent 98
setstate MagicCuberotate 2021-12-09 17:56:22 gesture 7
setstate MagicCuberotate 2021-11-03 16:49:08 lastseen 2021-11-03T18:49Z
setstate MagicCuberotate 2021-12-09 19:20:10 reachable 1
setstate MagicCuberotate 2021-12-09 17:56:22 state 15606
setstate MagicCuberotate 2021-12-09 19:20:10 temperature 17


Funktioniert aus soweit. Nur mit meinem MagcCuberotate hab ich ein kleines Programmierproblem.
Im Eventmonitor wir bei Drehung des Würfels nach rechts eine vierstellige zufällige Zahl im positiven Bereich angezeigt. Drehung nach Links, das gleiche aber mit einem Minus davor.

Um jetzt die Lautstärke meines Sonons zu regeln hab ich für lauter die rechte Drehung verwendet:
defmod MagicCuberotate_notify_SonosVolumePlus notify MagicCuberotate:.* set Sonos_Wohnzimmer Volume +10


Und für leiser links. Und hier ist das Problem.
defmod MagicCuberotate_notify_SonosVolumeMinus notify MagicCuberotate:-.* set Sonos_Wohnzimmer Volume -10

Der einzige Unterschied ist das Minus vor .*
Eigentlich funktioniert es. Aber bei der Drehung nach links, leiser wird 10 Punkte leiser gestellt aber danach wieder 10 Punkte lauter.
Habe keine Ahnung vom Programmieren. Denk aber, dass das "-" nicht interpretiert oder ignoriert wird. Komme an der Stelle nicht mehr weiter. Das schlaue Büchle "google" weis es auch nicht. Oder ich find die Seite nicht:)
Hab die Idee gehabt das Gerät MagicCuberotate zwei mal an zu legen. Aber muss doch auch über das notify gehen?!


Beste Grüße und Gesundheit
Karsiacar
Titel: Antw:Aqara Cube
Beitrag von: rippi46 am 10 Dezember 2021, 14:34:42
Hallo Karsiacar,

siehe Beitrag #4 weiter oben.

Gruß rippi
Titel: Antw:Aqara Cube
Beitrag von: Karsiacar am 12 Dezember 2021, 21:12:49
Hallo rippi46,

danke für die Unterstützung!
Konnte es jetzt so lösen:
([MagicCuberotate:state] > 0) (set Sonos_Wohnzimmer Volume +10) DOELSEIF ([MagicCuberotate:state] < -0) (set Sonos_Wohnzimmer Volume -10)
Am Ende war es dann doch recht simpel.

Mein Problem war bei den vorherigen Beiträgen, dass ich kein "rotate_right" , "to_side" usw. habe, sonder nur Ziffern. Auch kein readingname "action". Naja, läuft ja jetzt.

Schöne Weihnachtszeit
Karsiacar
Titel: Antw:Aqara Cube
Beitrag von: Karsiacar am 20 Dezember 2021, 09:19:38
Hallo,

ich nochmal. Habe ein kleines aber störendes Problem.
Egal welche Bedingung ich im DOIF setze, es wird immer bei Start oder Wechsel eines Senders die Lautstärke um meine angegebenen Wert verringert.
Hat jemand eine Idee, und die Zeit vor Weihnachten, was ich als reading setzen könnte, um den spielenden oder gestoppten Status abzufragen?
Hauptproblem bei meinem Code
([MagicCuberotate:transportState] ne "STOPPED") (set Sonos_Wohnzimmer Volume +10) DOELSEIF ([MagicCuberotate:transportState] ne "STOPPED") (set Sonos_Wohnzimmer Volume -10)
ist, dass wenn der Sonos aus ist, wird die Lautstärke trotzdem verstellt, wenn man aus versehen an den Würfel kommt. Das ergibt immer acht Schrecksekunden beim nächsten starten des Sonos.

Beste Grüße
Karsiacar
Titel: Antw:Aqara Cube
Beitrag von: Karsiacar am 20 Dezember 2021, 19:19:15
Ich versuch mir noch n Wolf.

([MagicCuberotate:state] > "0")
(set Sonos_Wohnzimmer VolumeU)
DOELSEIF
([MagicCuberotate:state] < "-0")
(set Sonos_Wohnzimmer VolumeD)


brauche eine Bedingung, um den Aquara NICHT auslösen zu lassen, wenn der Sonos aus ist.
Bei z.B.
([MagicCuberotate:state] > "0" and [Sonos_Wohnzimmer:state] eq "PLAYING")
(set Sonos_Wohnzimmer VolumeU)
DOELSEIF
([MagicCuberotate:state] < "-0" and [Sonos_Wohnzimmer:state] eq "PLAYING")
(set Sonos_Wohnzimmer VolumeD)

entsteht das Problem, dass bei Senderwechsel "state" kurz auf STOPPED wechselt und dann wieder PLAYING anzeigt. Somit wird 2x VolumeU ausgelöst (komischerweise manchmal auch VolumeD). Und das möchte ich verhindern. Hab schon mehrere ":readings" versucht, mit event-on-change.reading rum gespielt usw. Auch die Überlegung alle anderen "Triggern" für den Start der Sonosboxen anweisen, zuerst set Volume 25 anzunehmen. Muss doch aber auch so gehen?! Hat jemand eine Lösung?

Grüße Karsiacar
Titel: Antw:Aqara Cube
Beitrag von: Jackie am 22 Dezember 2021, 12:38:52
Hallo zusammen,

ich habe mir aufgrund der Vorlage hier im Thread (vielen Dank dafür) ebenfalls DOIFs für die zwei Sensoren des Aqara Cube erstellt, und habe ein merkwürdiges Problem:

Ich steuere per Aktion Schütteln (Shake) eine Fritz DECT 200 Steckdose, die dann für 60 Sekunden angeschaltet werden soll. So sieht mein DOIF aus:


defmod myTestCube DOIF ([ZW.Flip:"shake"]) (set DECT200 on-for-timer 60)
attr myTestCube do always


das "do always" brauche ich, weil sonst keine zweite Aktion ausgelöst wird, wenn der Würfel irgendwann wieder geschüttelt wird und vorher keinen anderen Zustand eingenommen hat. Das hat jedoch das Problem, dass ich im Eventlog "Geisterschüttler" erhalte, sprich: einige Minuten, manchmal nach einer halben Stunde nach einem Schütteln, kommt das Event im Eventlog erneut, und schaltet die Steckdose erneut, manchmal auch zwei oder dreimal.

Anders ausgedrückt: ich schüttle einmal, und das wird auch registriert, aber eben nach einigen Minuten erneut, obwohl der Würfel seelenruhig auf dem Tisch lag.

Hier mal ein Log zur Verdeutlichung.
Um 14:03 der Shake ist "echt", da wurde der Wrfel wirklich geschüttelt. Der Shake um 14:38h ist ein "Geistershake", den gab es nicht. Und so passiert das dauernd. Woher kommen diese "Geistereriegnisse"? Kann sich das jemand erklären?

2021-12-20_14:03:37 ZW.Flip gesture: 1
2021-12-20_14:03:37 ZW.Flip 7007
2021-12-20_14:03:37 ZW.Flip first: unknown
2021-12-20_14:03:37 ZW.Flip last: unknown
2021-12-20_14:03:37 ZW.Flip action: shake
2021-12-20_14:03:37 ZW.Flip side: unknown
2021-12-20_14:03:37 ZW.Flip last_side: unknown
2021-12-20_14:03:37 DECT200 on
2021-12-20_14:03:37 myTestCube cmd_nr: 1
2021-12-20_14:03:37 myTestCube cmd: 1
2021-12-20_14:03:37 myTestCube cmd_event: ZW.Flip
2021-12-20_14:03:37 myTestCube cmd_1
2021-12-20_14:03:51 HUEDevice1 lastseen: 2021-12-20T13:03Z
2021-12-20_14:04:37 DECT200 off
2021-12-20_14:04:39 DECT200 voltage: 239.009 V
2021-12-20_14:04:39 DECT200 FBTYPE: FRITZ!DECT 200
2021-12-20_14:04:39 DECT200 locked: no
2021-12-20_14:04:39 DECT200 off
2021-12-20_14:04:39 DECT200 fwversion: 04.16
2021-12-20_14:04:39 DECT200 devicelock: no
2021-12-20_14:04:39 DECT200 power: 0.00 W
2021-12-20_14:04:39 DECT200 mode: auto
2021-12-20_14:04:39 DECT200 present: yes
2021-12-20_14:04:39 DECT200 tempadjust: 0.0 C
2021-12-20_14:04:39 DECT200 ID: 18
2021-12-20_14:04:39 DECT200 temperature: 18.5 C (measured)
2021-12-20_14:04:39 DECT200 energy: 21856 Wh
2021-12-20_14:04:39 DECT200 FBPROP: microphone,switch,powerMeter,tempSensor,switch
2021-12-20_14:04:39 DECT200 FBNAME: FRITZ!DECT 200 #3
2021-12-20_14:04:39 DECT200 AIN: 08761 0372816
2021-12-20_14:04:39 DECT100 fwversion: 04.16
2021-12-20_14:04:39 DECT100 FBTYPE: FRITZ!DECT Repeater 100
2021-12-20_14:04:39 DECT100 FBNAME: FRITZ!DECT Rep 100 #4
2021-12-20_14:04:39 DECT100 AIN: 11657 0010009
2021-12-20_14:04:39 DECT100 temperature: 21.0 C (measured)
2021-12-20_14:04:39 DECT100 FBPROP: repeater,tempSensor
2021-12-20_14:04:39 DECT100 ID: 19
2021-12-20_14:04:39 DECT100 present: yes
2021-12-20_14:04:39 DECT100 tempadjust: 0.0 C
2021-12-20_14:04:49 FritzBox lastReadout: Didn't get a session ID
2021-12-20_14:04:49 FritzBox Didn't get a session ID
2021-12-20_14:04:51 HUEDevice1 lastseen: 2021-12-20T13:04Z
2021-12-20_14:05:51 HUEDevice1 lastseen: 2021-12-20T13:05Z
2021-12-20_14:06:51 HUEDevice1 lastseen: 2021-12-20T13:06Z
2021-12-20_14:07:51 HUEDevice1 lastseen: 2021-12-20T13:07Z
2021-12-20_14:08:51 HUEDevice1 lastseen: 2021-12-20T13:08Z
2021-12-20_14:09:39 DECT200 AIN: 08761 0372816
2021-12-20_14:09:39 DECT200 FBNAME: FRITZ!DECT 200 #3
2021-12-20_14:09:39 DECT200 energy: 21856 Wh
2021-12-20_14:09:39 DECT200 FBPROP: microphone,switch,powerMeter,tempSensor,switch
2021-12-20_14:09:39 DECT200 temperature: 18.5 C (measured)
2021-12-20_14:09:39 DECT200 ID: 18
2021-12-20_14:09:39 DECT200 present: yes
2021-12-20_14:09:39 DECT200 tempadjust: 0.0 C
2021-12-20_14:09:39 DECT200 mode: auto
2021-12-20_14:09:39 DECT200 power: 0.00 W
2021-12-20_14:09:39 DECT200 devicelock: no
2021-12-20_14:09:39 DECT200 off
2021-12-20_14:09:39 DECT200 fwversion: 04.16
2021-12-20_14:09:39 DECT200 locked: no
2021-12-20_14:09:39 DECT200 FBTYPE: FRITZ!DECT 200
2021-12-20_14:09:39 DECT200 voltage: 238.401 V
2021-12-20_14:09:39 DECT100 AIN: 11657 0010009
2021-12-20_14:09:39 DECT100 FBNAME: FRITZ!DECT Rep 100 #4
2021-12-20_14:09:39 DECT100 FBPROP: repeater,tempSensor
2021-12-20_14:09:39 DECT100 temperature: 21.0 C (measured)
2021-12-20_14:09:39 DECT100 ID: 19
2021-12-20_14:09:39 DECT100 tempadjust: 0.0 C
2021-12-20_14:09:39 DECT100 present: yes
2021-12-20_14:09:39 DECT100 fwversion: 04.16
2021-12-20_14:09:39 DECT100 FBTYPE: FRITZ!DECT Repeater 100
2021-12-20_14:09:51 HUEDevice1 lastseen: 2021-12-20T13:09Z
2021-12-20_14:10:51 HUEDevice1 lastseen: 2021-12-20T13:10Z
2021-12-20_14:11:51 HUEDevice1 lastseen: 2021-12-20T13:11Z
2021-12-20_14:12:51 HUEDevice1 lastseen: 2021-12-20T13:11Z
2021-12-20_14:13:51 HUEDevice1 lastseen: 2021-12-20T13:12Z
2021-12-20_14:14:39 DECT200 fwversion: 04.16
2021-12-20_14:14:39 DECT200 off
2021-12-20_14:14:39 DECT200 devicelock: no
2021-12-20_14:14:39 DECT200 power: 0.00 W
2021-12-20_14:14:39 DECT200 mode: auto
2021-12-20_14:14:39 DECT200 voltage: 239.268 V
2021-12-20_14:14:39 DECT200 FBTYPE: FRITZ!DECT 200
2021-12-20_14:14:39 DECT200 locked: no
2021-12-20_14:14:39 DECT200 temperature: 18.5 C (measured)
2021-12-20_14:14:39 DECT200 energy: 21856 Wh
2021-12-20_14:14:39 DECT200 FBPROP: microphone,switch,powerMeter,tempSensor,switch
2021-12-20_14:14:39 DECT200 FBNAME: FRITZ!DECT 200 #3
2021-12-20_14:14:39 DECT200 AIN: 08761 0372816
2021-12-20_14:14:39 DECT200 tempadjust: 0.0 C
2021-12-20_14:14:39 DECT200 present: yes
2021-12-20_14:14:39 DECT200 ID: 18
2021-12-20_14:14:39 DECT100 AIN: 11657 0010009
2021-12-20_14:14:39 DECT100 FBNAME: FRITZ!DECT Rep 100 #4
2021-12-20_14:14:39 DECT100 FBPROP: repeater,tempSensor
2021-12-20_14:14:39 DECT100 temperature: 21.0 C (measured)
2021-12-20_14:14:39 DECT100 ID: 19
2021-12-20_14:14:39 DECT100 present: yes
2021-12-20_14:14:39 DECT100 tempadjust: 0.0 C
2021-12-20_14:14:39 DECT100 fwversion: 04.16
2021-12-20_14:14:39 DECT100 FBTYPE: FRITZ!DECT Repeater 100
2021-12-20_14:14:51 HUEDevice1 lastseen: 2021-12-20T13:13Z
2021-12-20_14:15:51 HUEDevice1 lastseen: 2021-12-20T13:14Z
2021-12-20_14:16:51 HUEDevice1 lastseen: 2021-12-20T13:15Z
2021-12-20_14:17:51 HUEDevice1 lastseen: 2021-12-20T13:16Z
2021-12-20_14:18:51 HUEDevice1 lastseen: 2021-12-20T13:17Z
2021-12-20_14:19:39 DECT200 temperature: 18.5 C (measured)
2021-12-20_14:19:39 DECT200 FBPROP: microphone,switch,powerMeter,tempSensor,switch
2021-12-20_14:19:39 DECT200 energy: 21856 Wh
2021-12-20_14:19:39 DECT200 FBNAME: FRITZ!DECT 200 #3
2021-12-20_14:19:39 DECT200 AIN: 08761 0372816
2021-12-20_14:19:39 DECT200 present: yes
2021-12-20_14:19:39 DECT200 tempadjust: 0.0 C
2021-12-20_14:19:39 DECT200 ID: 18
2021-12-20_14:19:39 DECT200 off
2021-12-20_14:19:39 DECT200 fwversion: 04.16
2021-12-20_14:19:39 DECT200 devicelock: no
2021-12-20_14:19:39 DECT200 power: 0.00 W
2021-12-20_14:19:39 DECT200 mode: auto
2021-12-20_14:19:39 DECT200 voltage: 238.115 V
2021-12-20_14:19:39 DECT200 FBTYPE: FRITZ!DECT 200
2021-12-20_14:19:39 DECT200 locked: no
2021-12-20_14:19:39 DECT100 fwversion: 04.16
2021-12-20_14:19:39 DECT100 FBTYPE: FRITZ!DECT Repeater 100
2021-12-20_14:19:39 DECT100 AIN: 11657 0010009
2021-12-20_14:19:39 DECT100 FBNAME: FRITZ!DECT Rep 100 #4
2021-12-20_14:19:39 DECT100 FBPROP: repeater,tempSensor
2021-12-20_14:19:39 DECT100 temperature: 21.0 C (measured)
2021-12-20_14:19:39 DECT100 ID: 19
2021-12-20_14:19:39 DECT100 tempadjust: 0.0 C
2021-12-20_14:19:39 DECT100 present: yes
2021-12-20_14:19:51 HUEDevice1 lastseen: 2021-12-20T13:18Z
2021-12-20_14:20:52 HUEDevice1 lastseen: 2021-12-20T13:19Z
2021-12-20_14:21:52 HUEDevice1 lastseen: 2021-12-20T13:20Z
2021-12-20_14:22:52 HUEDevice1 lastseen: 2021-12-20T13:21Z
2021-12-20_14:23:52 HUEDevice1 lastseen: 2021-12-20T13:22Z
2021-12-20_14:24:39 DECT200 FBNAME: FRITZ!DECT 200 #3
2021-12-20_14:24:39 DECT200 AIN: 08761 0372816
2021-12-20_14:24:39 DECT200 temperature: 18.5 C (measured)
2021-12-20_14:24:39 DECT200 energy: 21856 Wh
2021-12-20_14:24:39 DECT200 FBPROP: microphone,switch,powerMeter,tempSensor,switch
2021-12-20_14:24:39 DECT200 ID: 18
2021-12-20_14:24:39 DECT200 present: yes
2021-12-20_14:24:39 DECT200 tempadjust: 0.0 C
2021-12-20_14:24:39 DECT200 devicelock: no
2021-12-20_14:24:39 DECT200 power: 0.00 W
2021-12-20_14:24:39 DECT200 mode: auto
2021-12-20_14:24:39 DECT200 off
2021-12-20_14:24:39 DECT200 fwversion: 04.16
2021-12-20_14:24:39 DECT200 FBTYPE: FRITZ!DECT 200
2021-12-20_14:24:39 DECT200 locked: no
2021-12-20_14:24:39 DECT200 voltage: 239.014 V
2021-12-20_14:24:39 DECT100 fwversion: 04.16
2021-12-20_14:24:39 DECT100 FBTYPE: FRITZ!DECT Repeater 100
2021-12-20_14:24:39 DECT100 AIN: 11657 0010009
2021-12-20_14:24:39 DECT100 FBNAME: FRITZ!DECT Rep 100 #4
2021-12-20_14:24:39 DECT100 FBPROP: repeater,tempSensor
2021-12-20_14:24:39 DECT100 temperature: 21.0 C (measured)
2021-12-20_14:24:39 DECT100 ID: 19
2021-12-20_14:24:39 DECT100 tempadjust: 0.0 C
2021-12-20_14:24:39 DECT100 present: yes
2021-12-20_14:24:52 HUEDevice1 lastseen: 2021-12-20T13:23Z
2021-12-20_14:25:52 HUEDevice1 lastseen: 2021-12-20T13:24Z
2021-12-20_14:26:52 HUEDevice1 lastseen: 2021-12-20T13:25Z
2021-12-20_14:27:52 HUEDevice1 lastseen: 2021-12-20T13:26Z
2021-12-20_14:28:52 HUEDevice1 lastseen: 2021-12-20T13:27Z
2021-12-20_14:29:39 DECT200 tempadjust: 0.0 C
2021-12-20_14:29:39 DECT200 present: yes
2021-12-20_14:29:39 DECT200 ID: 18
2021-12-20_14:29:39 DECT200 temperature: 18.5 C (measured)
2021-12-20_14:29:39 DECT200 energy: 21856 Wh
2021-12-20_14:29:39 DECT200 FBPROP: microphone,switch,powerMeter,tempSensor,switch
2021-12-20_14:29:39 DECT200 FBNAME: FRITZ!DECT 200 #3
2021-12-20_14:29:39 DECT200 AIN: 08761 0372816
2021-12-20_14:29:39 DECT200 voltage: 238.250 V
2021-12-20_14:29:39 DECT200 FBTYPE: FRITZ!DECT 200
2021-12-20_14:29:39 DECT200 locked: no
2021-12-20_14:29:39 DECT200 fwversion: 04.16
2021-12-20_14:29:39 DECT200 off
2021-12-20_14:29:39 DECT200 power: 0.00 W
2021-12-20_14:29:39 DECT200 devicelock: no
2021-12-20_14:29:39 DECT200 mode: auto
2021-12-20_14:29:39 DECT100 AIN: 11657 0010009
2021-12-20_14:29:39 DECT100 FBNAME: FRITZ!DECT Rep 100 #4
2021-12-20_14:29:39 DECT100 FBPROP: repeater,tempSensor
2021-12-20_14:29:39 DECT100 temperature: 21.0 C (measured)
2021-12-20_14:29:39 DECT100 ID: 19
2021-12-20_14:29:39 DECT100 tempadjust: 0.0 C
2021-12-20_14:29:39 DECT100 present: yes
2021-12-20_14:29:39 DECT100 fwversion: 04.16
2021-12-20_14:29:39 DECT100 FBTYPE: FRITZ!DECT Repeater 100
2021-12-20_14:29:52 HUEDevice1 lastseen: 2021-12-20T13:28Z
2021-12-20_14:30:52 HUEDevice1 lastseen: 2021-12-20T13:30Z
2021-12-20_14:31:52 HUEDevice1 lastseen: 2021-12-20T13:31Z
2021-12-20_14:32:52 HUEDevice1 lastseen: 2021-12-20T13:32Z
2021-12-20_14:33:52 HUEDevice1 lastseen: 2021-12-20T13:33Z
2021-12-20_14:34:39 DECT200 FBNAME: FRITZ!DECT 200 #3
2021-12-20_14:34:39 DECT200 AIN: 08761 0372816
2021-12-20_14:34:39 DECT200 temperature: 18.5 C (measured)
2021-12-20_14:34:39 DECT200 FBPROP: microphone,switch,powerMeter,tempSensor,switch
2021-12-20_14:34:39 DECT200 energy: 21856 Wh
2021-12-20_14:34:39 DECT200 ID: 18
2021-12-20_14:34:39 DECT200 present: yes
2021-12-20_14:34:39 DECT200 tempadjust: 0.0 C
2021-12-20_14:34:39 DECT200 devicelock: no
2021-12-20_14:34:39 DECT200 power: 0.00 W
2021-12-20_14:34:39 DECT200 mode: auto
2021-12-20_14:34:39 DECT200 off
2021-12-20_14:34:39 DECT200 fwversion: 04.16
2021-12-20_14:34:39 DECT200 FBTYPE: FRITZ!DECT 200
2021-12-20_14:34:39 DECT200 locked: no
2021-12-20_14:34:39 DECT200 voltage: 238.958 V
2021-12-20_14:34:52 HUEDevice1 lastseen: 2021-12-20T13:34Z
2021-12-20_14:35:52 HUEDevice1 lastseen: 2021-12-20T13:35Z
2021-12-20_14:36:53 HUEDevice1 lastseen: 2021-12-20T13:36Z
2021-12-20_14:37:53 HUEDevice1 lastseen: 2021-12-20T13:37Z
2021-12-20_14:38:35 ZW.Flip reachable: 1
2021-12-20_14:38:35 ZW.Flip temperature: 21
2021-12-20_14:38:35 ZW.Flip batteryPercent: 95
2021-12-20_14:38:35 ZW.Flip battery: 95
2021-12-20_14:38:35 ZW.Flip first: unknown
2021-12-20_14:38:35 ZW.Flip last: unknown
2021-12-20_14:38:35 ZW.Flip action: shake
2021-12-20_14:38:35 ZW.Flip side: unknown
2021-12-20_14:38:35 ZW.Flip last_side: unknown
2021-12-20_14:38:35 DECT200 on
2021-12-20_14:38:35 myTestCube cmd_nr: 1
2021-12-20_14:38:35 myTestCube cmd: 1
2021-12-20_14:38:35 myTestCube cmd_event: ZW.Flip
2021-12-20_14:38:35 myTestCube cmd_1
2021-12-20_14:38:35 ZW.Rotate reachable: 1
2021-12-20_14:38:35 ZW.Rotate temperature: 21
2021-12-20_14:38:35 ZW.Rotate batteryPercent: 95
2021-12-20_14:38:35 ZW.Rotate battery: 95
2021-12-20_14:38:35 ZW.Rotate rotate: left
Titel: Antw:Aqara Cube
Beitrag von: Karsiacar am 22 Dezember 2021, 18:29:38
Hallo Jackie,

bin nicht sicher ob das die Lösung ist und zusätzlich kein Krack in der Sache.

Ich würde es so versuchen:
define myTestCube DOIF ([ZW.Flip:state] eq "shake") (set DECT200 on-for-timer 60) Wenn der Status, den du glaub ich abgefragt hast, beim lauschen des DOIF´s wieder vorkommt, wird erneut geschaltet. Also muss auf den Event reagiert werden. Sind nur Gedanken und Halbwissen die ich hier https://forum.fhem.de/index.php?topic=118556.0 raus gezogen hab.

Oder mit einem notify:
define myTestCube notify ZW.Flip:shake set DECT200 on-for-timer 60

Hast du evtl. ne Lösung für mein Cuberotateproblem? (Beitrag über deinem)

Beste Grüße
Karsiscar
Titel: Antw:Aqara Cube
Beitrag von: vbs am 04 Januar 2022, 21:58:23
Ich spiele auch gerade mal wieder mit dem Cube rum (per zigbee2mqtt), aber irgendwie scheint zumindest der Wert von "side" unzuverlässig. "side" wird nur ordentlich geändert, wenn der Cube einigermaßen schnell gedreht wird. In dem Fall wird "side" korrekt auf einen neuen Wert umgeschaltet. Wenn ich den Cube zu langsam drehe/kippe, dann kann ich ihn auf eine andere Seite legen und "site" ändert sich nicht.
Ist das bei euch auch so? Ist doch gar nicht zu gebrauchen, wenn man sich darauf nicht verlassen kann, oder?
Titel: Antw:Aqara Cube
Beitrag von: Tabadorer am 11 Januar 2022, 11:24:34
Hallo Jackie,

dein Problem wird sein, das du beim Cube nicht filterst, welche Ereignisse denn auch wirklich ein Event auslösen sollen. Denn das Gerät sendet in unregelmäßigen abständen auch Infos wie Batteriezustand, etc. Aber wenn er das tut, werden auch alle bisherigen Ereignisse erneut getriggert.

Eine oder auch die Lösung:
event-on-update-reading state

versuch das mal..

Ein Event wird dann nur ausgelöst, wenn STATE aktualisiert oder geändert wurde.