Ich betreibe 3 Fibaro Roller Shutter und schalte sie zu verscheidenen Zeitpunkten; soweit alles OK.
Ich möchte nun in einer readingsGroup die jeweiligen Statusmeldungen zusammenstellen.
Als Status wird angezegt: "off", "on" oder "dim XX", wobei XX ein Zahlenwert ist. Diese Anzeige möchte ich mappen in: "0", "99" und "XX".
Die Lösung liegt vermutlich im Teil "regex" der Definition:
define <name> readingsGroup <device>[:regex]
Formuliere ich nun einen regex, dann liefert er mir doch nur "wahr" oder "falsch" und keine entsprechend modifizierte Ausgabe; ich brauche doch eine Art 'Substitution' !??
Wo liegt mein Fehler ?
Ich habe es mit einer Perlroutine (substr) versucht, was auch funktioniert. Allerdings wird da nicht aktualisiert (longpol), wenn sich etwas ändert.
Was wäre zu tun ?
Für jeden Tipp besten Dank im Voraus.
Schönen Sonntag noch !
Peter
Ergänzung vom 24.08.2015:
Ist die von ,,krikan" im Thread ,,SVG-Plot für Fibaro Roller Shutter FGRM-222" in #4 erwähnte Funktion zum Auslesen der Position der Rollladen eigentlich eingecheckt ? Dort heißt es: ,,Das Reading "position" enthält dann immer die prozentuale Position der Rollade".
In der 10_ZWave.pm finde ich auch etwas (ab Zeile 396 ...), was darauf hindeutet, aber wie kann ich es nutzen ?
# Patching certain devices.
use vars qw(%zwave_deviceSpecial);
%zwave_deviceSpecial = (
Fibaro_FGRM222 => {
MANUFACTURER_PROPRIETARY => {
set => { positionSlat=>"010f26010100%02x",
positionBlinds=>"010f260102%02x00"},
get => { position=>"010f2602020000", },
parse => { "0891010f260303(..)(..)" =>
'sprintf("position:Blinds %d Slat %d",hex($1),hex($2))',
"0891010f260302(..)00" =>'"position:".hex($1)' } } },
Ich grüble und probiere immer noch, wie ich das on, off und dim wegbekomme !
Für jeden Hinweis bin ich dankbar !
Peter
Ich bin auch am Üben. Das Problem mit state habe ich mittels userReadings gelöst:
attr garden_blind userReadings onoff {ReadingsVal("garden_blind","state","") =~"o" ReadingsVal("garden_blind","state",""):ReadingsVal("garden_blind","onoff","")},
pct {ReadingsVal("garden_blind","state","") =~"dim"?ReadingsNum("garden_blind","state",""):ReadingsVal("garden_blind","pct","")}
Somit habe ich 2 Readings (onoff und pct ), die ich auch mit longpoll abfragen kann.
Zitat von: PNinBB am 23 August 2015, 13:37:52
Ergänzung vom 24.08.2015:
Ist die von ,,krikan" im Thread ,,SVG-Plot für Fibaro Roller Shutter FGRM-222" in #4 erwähnte Funktion zum Auslesen der Position der Rollladen eigentlich eingecheckt ? Dort heißt es: ,,Das Reading "position" enthält dann immer die prozentuale Position der Rollade".
In der 10_ZWave.pm finde ich auch etwas (ab Zeile 396 ...), was darauf hindeutet, aber wie kann ich es nutzen ?
Hallo Peter,
das ist eingecheckt und zur Nutzung musst Du in der Kofiguration den Aktor auf Fibaro CC umstellen (müsste configReportsType sein; kann gerade nicht nachschauen). Dann sollte Reading "position" kommen. Bei Problemen bitte noch mal melden.
Gruß, Christian
PS: Edits sieht Rudi nicht und ich bin auch nur wegen Flurins Antwort darauf gestoßen.
@krikan: das kann ich bestätigen, "position" kommt. Am Modul habe ich noch die Default-Einstellungen.
configReportsType sieht so aus:
configReportsType:BlindPositionReportsSentToThe0
Das Problem ist, dass "position" bei einem longpoll nicht gesendet wird.
@PNinBB: bei onoff muss ich mir noch eine andere Lösung überlegen, "o" kommt auch z.B. bei Stop vor!
Zitat von: flurin am 25 August 2015, 08:58:51
Das Problem ist, dass "position" bei einem longpoll nicht gesendet wird.
Das verstehe ich nicht. Kennst Du die Ursache?
Nutze "position" im stateFormat bei einem FGRM222 der im Lammellensteuerungs-Modus ist. Meine, dass das dort funktioniert. Habe aber aktuell nicht darauf geachtet.
Wie gesagt, habe ich gerade angefangen und das Modul ist für mich neu:
beim einem Longpoll
http://x.x.x.x:8083/fhem.pl?XHR=1&inform=type=status;filter=garden_blind;since=null;fmt=JSON×tamp=1440487084591
kommt:
["garden_blind","off","<div id=\"garden_blind\" class=\"col2\"><a href=\"/fhem?cmd.garden_blind=set garden_blind on&room=Ground_Floor\"><svg class=\" off\" alt=\"off\" title=\"off\" version=\"1.0\" xmlns=\"http://www.w3.org/2000/svg\" width=\"468pt\" height=\"617pt\" viewBox=\"0 0 468 617\" preserveAspectRatio=\"xMidYMid meet\"> <metadata> Created by potrace 1.8, written by Peter Selinger 2001-2007 </metadata> <g transform=\"translate(0,617) scale(0.221801,-0.221801)\" stroke=\"none\"> <path d=\"M756 2765 c-9 -25 -7 -128 3 -144 5 -8 16 -11 25 -8 24 10 19 160 -5 165 -9 2 -19 -4 -23 -13z\"/> <path d=\"M1310 2695 c0 -77 2 -86 18 -83 14 3 17 15 17 83 0 68 -3 80 -17 83 -16 3 -18 -6 -18 -83z\"/> <path d=\"M1806 2581 c-47 -47 -67 -74 -63 -85 4 -9 10 -16 14 -16 17 0 155 148 149 159 -14 21 -32 10 -100 -58z\"/> <path d=\"M220 2622 c0 -23 125 -147 139 -138 21 13 11 32 -52 94 -64 64 -87 75 -87 44z\"/> <path d=\"M809 2257 c-70 -20 -136 -63 -174 -115 -65 -87 -65 -91 -65 -643 0 -479 1 -500 21 -553 25 -67 87 -134 160 -173 l54 -28 250 0 c235 0 253 1 296 21 63 29 125 94 158 163 l26 56 0 520 0 520 -28 56 c-32 66 -99 132 -165 162 -43 20 -65 22 -267 24 -153 2 -234 -2 -266 -10z m486 -146 c48 -22 69 -44 90 -94 13 -31 15 -107 15 -517 0 -526 0 -523 -59 -573 -48 -40 -90 -47 -299 -47 -205 0 -226 4 -280 54 -51 46 -50 40 -53 567 l-3 495 23 40 c24 43 64 72 115 85 17 4 117 7 221 8 164 0 195 -2 230 -18z\"/> <path d=\"M13 2065 c-11 -29 12 -36 118 -33 96 3 104 4 104 23 0 19 -8 20 -108 23 -91 2 -108 0 -114 -13z\"/> <path d=\"M1877 2066 c-11 -27 17 -36 113 -36 100 0 127 8 117 34 -5 13 -25 16 -116 16 -83 0 -110 -3 -114 -14z\"/> <path d=\"M10 1510 c0 -19 6 -20 116 -20 105 0 115 2 112 18 -3 15 -18 17 -116 20 -107 3 -112 2 -112 -18z\"/> <path d=\"M1876 1522 c-2 -4 -1 -14 3 -20 5 -9 38 -12 117 -10 89 2 109 6 109 18 0 12 -20 16 -112 18 -61 1 -114 -1 -117 -6z\"/> <path d=\"M21 981 c-8 -5 -11 -16 -8 -25 5 -13 24 -16 112 -16 88 0 107 3 112 16 10 26 -16 34 -112 34 -50 0 -96 -4 -104 -9z\"/> <path d=\"M1882 978 c-8 -8 -9 -15 -1 -25 8 -9 40 -13 108 -13 101 0 128 8 118 34 -5 13 -24 16 -110 16 -66 0 -107 -4 -115 -12z\"/> <path d=\"M768 693 c-36 -41 -30 -95 11 -108 60 -19 520 -91 539 -84 53 20 66 99 19 119 -28 12 -482 90 -524 90 -16 0 -37 -8 -45 -17z\"/> <path d=\"M793 530 c-41 -17 -58 -85 -28 -110 15 -12 492 -100 543 -100 33 0 62 34 62 74 0 18 -6 38 -13 44 -6 6 -120 29 -252 51 -132 23 -251 43 -265 46 -14 2 -35 0 -47 -5z\"/> <path d=\"M793 360 c-46 -18 -59 -90 -20 -114 21 -13 478 -96 531 -96 14 0 35 9 46 20 26 26 27 85 2 99 -10 5 -126 28 -258 51 -131 22 -248 42 -259 44 -11 2 -30 0 -42 -4z\"/> <path d=\"M871 154 c-26 -33 -27 -55 -3 -82 13 -16 51 -26 176 -47 158 -27 159 -27 185 -7 31 22 41 81 18 101 -16 13 -271 61 -323 61 -23 0 -39 -8 -53 -26z\"/> </g> </svg></a></div>"]
Sorry ein langer Wurm, 'position' ist nicht dabei.
... die (longpoll) Readings sehen so aus:
[garden_blind] dataobj: garden_blind, dim 0
[garden_blind] dataobj: garden_blind-pct, 0
[garden_blind] dataobj: garden_blind-pct-ts, 2015-08-25 09:32:43
[garden_blind] dataobj: garden_blind-onoff, off
[garden_blind] dataobj: garden_blind-onoff-ts, 2015-08-25 09:32:43
[garden_blind] dataobj: garden_blind-state, dim 0
[garden_blind] dataobj: garden_blind-state-ts, 2015-08-25 09:32:43
[garden_blind] dataobj: garden_blind, off
[garden_blind] dataobj: garden_blind-reportedState, off
[garden_blind] dataobj: garden_blind-reportedState-ts, 2015-08-25 09:32:45
[garden_blind] dataobj: garden_blind-pct, 0
[garden_blind] dataobj: garden_blind-pct-ts, 2015-08-25 09:32:45
[garden_blind] dataobj: garden_blind-onoff, off
[garden_blind] dataobj: garden_blind-onoff-ts, 2015-08-25 09:32:45
[garden_blind] dataobj: garden_blind-state, off
[garden_blind] dataobj: garden_blind-state-ts, 2015-08-25 09:32:45
[garden_blind] dataobj: garden_blind, off
[garden_blind] dataobj: garden_blind-power, 0.0 W
[garden_blind] dataobj: garden_blind-power-ts, 2015-08-25 09:32:45
[garden_blind] dataobj: garden_blind-pct, 0
[garden_blind] dataobj: garden_blind-pct-ts, 2015-08-25 09:32:45
[garden_blind] dataobj: garden_blind-onoff, off
[garden_blind] dataobj: garden_blind-onoff-ts, 2015-08-25 09:32:45
"onoff" und "pct" kommen von den userReadings (siehe oben).
@krikan
configSwitchType auf Fibaro CC gesetzt!
configReportsType:BlindPositionReportsSentToThe1
Jetzt kommt auch 'position'.
d.h. Du hast 2 Parameter ändern müssen. Das habe ich so http://www.fhemwiki.de/wiki/Z-Wave-FIB_FGRM-222-Rollladenaktor nicht festgehalten und muss mir das mal in Realität am Aktor anschauen.
Deine Anleitung kannte ich nicht, Danke dafür.
Ich hatte es so wie in deiner Anleitung eingebunden. Die Kalibrierung und Inbetriebnahme erfolgt diese Woche, wenn der Markisen-Motor angeschlossen ist.
Eigentlich habe ich nur configReportType geändert sonst nichts.
Zitat von: flurin am 25 August 2015, 10:38:01
Eigentlich habe ich nur configReportType geändert sonst nichts.
OK, dann funktioniert hoffentlich alles.
Beim Wiki-Eintrag bitte beachten, dass der noch nicht hinsichtlich der hier diskutierten Änderung "position" bei Rollladen aktualisiert ist; damals ging es nur bei Lammellen. Meine Fhem-Freizeit wird derzeit durch SECURITY-Tests für ZWave im Wesentlichen verbraucht, so dass Wiki derzeit hinten ansteht.
@PNinBB: So sollte es mit den userReadings klappen:
attr garden_blind userReadings onoff {ReadingsVal("garden_blind","state","") =~"on|off"? ReadingsVal("garden_blind","state",""):ReadingsVal("garden_blind","onoff","")},
pct {ReadingsVal("garden_blind","state","") =~"dim"?ReadingsNum("garden_blind","state",""):ReadingsVal("garden_blind","pct","")}
dann ist im Reading onoff: on oder off
und
im Reading pct: 0 bis 99
Da ich ein paar Tage etwas vom "Bus abgeklemmt" war, erst heute meine Reaktion.
Ich habe 'configSwitchType auf Fibaro CC' gesetzt und 'position' erschien !
Alles wie gewünscht; herzlichen Dank für die Hinweise und Aktivitäten.
Peter
Hallo zusammen,
gibt es zum Reading "position" noch Neuigkeiten? Es wird bei mir zwar angezeigt, aber nicht aktualisiert wenn die Rollladen in eine andere Positionn fahren. Frage ich das Reading über ein GET ab, dann erhalte ich allerdings den richtigen/aktuellen Wert.
Den Reporttyp habe ich auf BlindPositionReportsSentToThe1 gesetzt und betreibe den Aktor im RollerBlindModeWithPositioning.
Vielen Dank und Grüße,
Max
Hallo Max,
mir sind keine Probleme bekannt. Du müsstest bitte ggfs. ein paar mehr Infos liefern. Am besten list mit den hier beschriebenen Abfragen: http://www.fhemwiki.de/wiki/Z-Wave#Welche_Infos_sollten_Anfragen_im_ZWave-Forum_enthalten.3F
Gruß, Christian
Hallo Christian,
anbei die Details:
Internals:
DEF c1c7df23 2
IODev zwave
LASTInputDev zwave
MSGCNT 4
NAME RL_WZ_Mitte
NR 42
STATE versionClassRequest PROTECTION
TYPE ZWave
homeId c1c7df23
isWakeUp
lastMsgSent 1450011555.88694
nodeIdHex 02
zwave_MSGCNT 4
zwave_RAWMSG 0004000206850303010002
zwave_TIME 2015-12-13 13:58:24
Readings:
2015-08-02 16:36:43 CMD ZW_APPLICATION_UPDATE
2015-10-20 21:00:26 SEND_DATA failed:00
2015-07-29 01:49:22 UNPARSED WAKE_UP 028406
2015-06-20 19:54:02 assocGroup_01 Max 10 Nodes 01
2015-06-20 19:54:09 assocGroup_02 Max 10 Nodes
2015-06-20 19:54:13 assocGroup_03 Max 01 Nodes 02
2015-06-18 21:28:29 assocGroup_04 Max 00 Nodes
2015-12-13 13:58:24 assocGroup_1 Max 16 Nodes zwave
2015-12-13 13:58:24 assocGroup_2 Max 16 Nodes
2015-12-13 13:58:24 assocGroup_3 Max 1 Nodes RL_WZ_Mitte
2015-12-13 13:58:24 assocGroups 3
2015-12-13 13:58:48 configEnergyReports 10
2015-12-13 13:58:48 configForcedRollerShutterCalibration Default
2015-12-13 13:58:48 configInRollerBlindModeOrVenetianBlind17 10
2015-12-13 13:58:48 configInVenetianBlindModeTheParameter12 150
2015-12-13 13:58:51 configManagingLamellasInResponseTo35 SetLamellasToTheirExtreme1
2015-12-13 13:58:51 configMotorOperationDetection 10
2015-12-13 13:58:51 configMotorOperationTime 240
2015-12-13 13:58:51 configPeriodicPowerOrEnergyReports 3600
2015-12-13 13:58:51 configPowerReports 10
2015-12-13 13:58:54 configReportsType BlindPositionReportsSentToThe1
2015-12-13 13:58:54 configResponseToFloodingAlarm NoReaction
2015-12-13 13:58:54 configResponseToGeneralAlarm CloseBlind
2015-12-13 13:58:55 configResponseToSmokeCOOrCO2Alarm OpenBlind
2015-12-13 13:58:55 configResponseToTemperatureAlarm OpenBlind
2015-12-13 13:58:55 configRollerShutterOperatingModes RollerBlindModeWithPositioning
2015-12-13 13:58:55 configScenesAssociationsActivation AssociationsActivation
2015-12-13 13:58:55 configSelfMeasurement SelfMeasurementInactive
2015-12-13 13:58:55 configSetLamellasBackToPrevious13 LamellasReturnToPreviouslySet1
2015-12-13 13:58:55 configSwitchType MomentarySwitches
2015-06-18 21:54:53 energy 0 kWh
2015-06-18 21:17:01 meterSupported type: energy scales: 0:kWh, 2:W resetable: yes
2015-07-06 18:30:34 model FIBARO System FGRM222 Roller Shutter Controller 2
2015-07-06 18:30:34 modelConfig fibaro/fgrm222.xml
2015-07-06 18:30:34 modelId 010f-0301-1001
2015-12-13 11:52:43 pct 89
2015-12-13 11:33:39 position 80
2015-12-13 13:59:15 position_2 89
2015-07-06 18:41:19 power 0.0 W
2015-07-06 18:41:38 reportedState dim 50
2015-12-13 13:59:15 state versionClassRequest PROTECTION
2015-12-13 13:59:15 transmit OK
2015-06-18 21:54:30 versionClass_01 00
Attributes:
Alle_Rolläden struc_RL_Alle
IODev zwave
RL_EG_alle struc_RL_EG_Gesamt
RL_Wohnzimmer struc_RL_Wohnzimmer
alias RL Wohnzimmer Essbereich
classes MANUFACTURER_SPECIFIC VERSION CONFIGURATION ASSOCIATION SWITCH_BINARY POWERLEVEL METER SENSOR_MULTILEVEL FIRMWARE_UPDATE_MD SWITCH_BINARY MANUFACTURER_PROPRIETARY PROTECTION MARK METER SENSOR_MULTILEVEL MANUFACTURER_PROPRIETARY SCENE_ACTIVATION SWITCH_MULTILEVEL SWITCH_BINARY
devStateIcon Hoch:fts_shutter_10@red Runter:fts_shutter_100@green ....10\d:fts_shutter_100 ....9\d:fts_shutter_10 ....8\d:fts_shutter_20 ....7\d:fts_shutter_30 ....6\d:fts_shutter_40 ....5\d:fts_shutter_50 ....4\d:fts_shutter_60 ....3\d:fts_shutter_70 ....2\d:fts_shutter_80 ....1\d:fts_shutter_90 up:fts_shutter_up down:fts_shutter_down
eventMap on:Hoch off:Runter stop:Stop
group RL_Wohnzimmer
room Aktoren,Wohnzimmer
userReadings position_2 {ReadingsVal("RL_WZ_Mitte","state","") =~"dim"?ReadingsNum("RL_WZ_Mitte","state",""):ReadingsVal("RL_WZ_Mitte","pct","")}
userattr Alle_Rolläden Alle_Rolläden_map RL_EG_alle RL_EG_alle_map RL_Wohnzimmer RL_Wohnzimmer_map group_map structexclude
vclasses ASSOCIATION:02 CONFIGURATION:01 FIRMWARE_UPDATE_MD:01 MANUFACTURER_PROPRIETARY:01 MANUFACTURER_SPECIFIC:01 METER:02 POWERLEVEL:01 PROTECTION:02 SCENE_ACTIVATION:01 SENSOR_MULTILEVEL:02 SWITCH_BINARY:01 SWITCH_MULTILEVEL:03 VERSION:01
verbose 3
webCmd Hoch:Runter:Stop
Über das Userreading habe ich mir das Reading Position_2 gesetzt.
Heißt, bei dir aktualisiert sich das Positionsreading automatisch?
Vielen Dank vorab und viele Grüße,
Max
Hallo Max,
das funktioniert bei mir mit Raffstores; wäre schlimm wenn nicht, habe Rudi schließlich den Patch eingereicht.
Bei Dir fällt mir auf:
2015-06-20 19:54:13 assocGroup_03 Max 01 Nodes 02
Ist wirklich NodeId 2 Dein Controller? Typischerweise ist das 1. Bitte mal kontrollieren und ggfs. abändern.
Gruß, Christian
Hi Christian,
du hast Recht, da ist die falsche Controller ID. Müsste 01 heißen.
Habe es eben mit RL_WZ_Mitte associationDel 3 2
versucht, lässt sich aber nicht löschen. Gibt es da einen Trick?
Vielen Dank und daran wird es sicherlich liegen!
Max
Nein, der Befehl sieht richtig aus. Ich habe es bei mir gerade noch mal getestet. Hier funktioniert es. Hast Du noch mal das Reading mit "get RL_WZ_Mitte association 3" neu abgerufen? Keine Löschung?
Hi Christian,
ja, habe es gerade noch mal gecheckt und nun läuft es! Danke für Deine Hilfe!
Dir noch einen schönen Abend und super Arbeit die Du hier machst!
Viele Grüße und nochmal besten Dank,
Max