FIBARO System FGRM222 Roller Shutter State

Begonnen von PNinBB, 23 August 2015, 13:37:52

Vorheriges Thema - Nächstes Thema

PNinBB

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
Raspi 4B + RaZberry2 (Deb 10), FritzBox 7490;
AEOTec: KeyFobGen5: 1x;
Danfoss: Living Connect 2.51: 3x;
Fibaro: FGK: 10x: 3x; FGBS: 001: 8x, 222: 1x; FGMS001: 2x; FGR: 222: 3x, 223: 2x; FGRGBWM-441: 1x; FGBS: 222: 2x, 223: 2x,224: 1x;
Philio: PAN06-1A: 3x;

flurin

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.

krikan

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.

flurin

@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.

flurin

@PNinBB: bei onoff muss ich mir noch eine andere Lösung überlegen, "o" kommt auch z.B. bei Stop vor!

krikan

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.

flurin

#6
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&timestamp=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.

flurin

#7
... 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).

flurin

#8
@krikan
configSwitchType auf Fibaro CC gesetzt!


configReportsType:BlindPositionReportsSentToThe1


Jetzt kommt auch 'position'.

krikan

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.

flurin

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.

krikan

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.

flurin

@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

PNinBB

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


Raspi 4B + RaZberry2 (Deb 10), FritzBox 7490;
AEOTec: KeyFobGen5: 1x;
Danfoss: Living Connect 2.51: 3x;
Fibaro: FGK: 10x: 3x; FGBS: 001: 8x, 222: 1x; FGMS001: 2x; FGR: 222: 3x, 223: 2x; FGRGBWM-441: 1x; FGBS: 222: 2x, 223: 2x,224: 1x;
Philio: PAN06-1A: 3x;

Sirel

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