Neues Modul readingsGroup

Begonnen von Niko, 24 August 2013, 11:59:11

Vorheriges Thema - Nächstes Thema

justme1968

ich habe die version eingecheckt.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

CQuadrat

Zitat von: Invers am 27 Dezember 2014, 10:53:07
Falls du es weiter testen möchtest, heisst es localhost, nicht localhoRst.
Ob es geht, weiss ich leider nicht.

localhorst war als Witz gedacht  :P


Zitat von: justme1968 am 27 Dezember 2014, 11:36:53
@CQuadrat: nein. das geht nicht. was möchtest du denn genau machen?

Nun, ich habe mir ein eigenes Frontend mit html zusammengebastelt. Device-Zustände, SVG-Plots, on/off/toggle-Buttons, diverse Infos per RSS, etc. bekomme ich da gut rein. Nur bei den readingGroups scheitert das ganze noch - leider. Wennn das ginge, wäre es perfekt.
FHEM auf Mini-ITX-Server mit Intel Quad-Core J1900:
+ HM: HM-LAN, HM-USB, HM-MOD-UART mit div. HM-Komponenten
+ RFXtrx: Funkwetterstation Bresser mit ext. Thermometer, Regenmesser und Windmesser
+ TUL (KNX-Anbindung), MQTT, SONOS (div. Gimmicks), OneWire, Hue

justme1968

du kannst ein get html auf das readingsGroup device machen und du bekommst den html code zurück. den kannst du bei dir einbauen. longpoll updates werden dann aber nicht funktionieren.

get <rg> html

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

CQuadrat

#1038
Super!

Danke, das sollte mir weiterhelfen. ;)


Nachtrag: Prinzipiell funktioniert es. Nur warum sind verwendete Icons im exportierten html größer als im FHEM-Frontend? Lässt sich die Icon-Größe  irgendwo einstellen?
FHEM auf Mini-ITX-Server mit Intel Quad-Core J1900:
+ HM: HM-LAN, HM-USB, HM-MOD-UART mit div. HM-Komponenten
+ RFXtrx: Funkwetterstation Bresser mit ext. Thermometer, Regenmesser und Windmesser
+ TUL (KNX-Anbindung), MQTT, SONOS (div. Gimmicks), OneWire, Hue

justme1968

weil die icon größe in fhem per css konfiguriert wird und du das bei dir vermutlich nicht tust.

welchen vorteil versprichst du dir von deinem frontend?

gruß
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

CQuadrat

Zitat von: justme1968 am 28 Dezember 2014, 10:08:42
weil die icon größe in fhem per css konfiguriert wird und du das bei dir vermutlich nicht tust.

Wo muss ich das denn einstellen bzw. wie heißen die entsprechenden Style-Elemente?

Zitat von: justme1968 am 28 Dezember 2014, 10:08:42
welchen vorteil versprichst du dir von deinem frontend?

Ich kann es so gestalten, wie es mir gefällt.



FHEM auf Mini-ITX-Server mit Intel Quad-Core J1900:
+ HM: HM-LAN, HM-USB, HM-MOD-UART mit div. HM-Komponenten
+ RFXtrx: Funkwetterstation Bresser mit ext. Thermometer, Regenmesser und Windmesser
+ TUL (KNX-Anbindung), MQTT, SONOS (div. Gimmicks), OneWire, Hue

justme1968

schau nach wie es die fhemweb css files machen.

wenn du dir selber ein frontend baust solltest du das eigentlich hin bekommen.

gruß
  andre

ps: gestalten wie es dir gefällt kannst du auch mit fhemweb  und dem floorplan. und bei fragen ist der support vermutlich besser weil das so noch von anderen eingesetzt wird.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

CQuadrat

Naja, es sieht so aus, als wenn bei Verwendung von
get <rg> html
überhaupt kein CSS verwendet wird.
FHEM auf Mini-ITX-Server mit Intel Quad-Core J1900:
+ HM: HM-LAN, HM-USB, HM-MOD-UART mit div. HM-Komponenten
+ RFXtrx: Funkwetterstation Bresser mit ext. Thermometer, Regenmesser und Windmesser
+ TUL (KNX-Anbindung), MQTT, SONOS (div. Gimmicks), OneWire, Hue

justme1968

das css kommt auch nicht aus dem modul sondern aus dem fhemweb style
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

ulli

#1044
Bin gerade dabei ein readingsgroup für meine Heizung zu erstellen und komme einfach nicht weiter.

Ich habe einmal das Heizungsdefine "WZ_HeatingValve" und einmal einen Dummy "WZ_Heating".
Der Dummy soll das generelle an und ausschalten der Heizung ermöglichen. Das Heizungsdefine hat alle aktuellen Einstellungen.
Die beiden möchte ich jetzt zusammen in einer Zeile readingsgroup vereinen.

Momentan sieht es so aus.

define Raumklima readingsGroup <%sani_heating>,<Status>,<Mode>,<Soll-Temp>,<Off>,<On> .._HeatingValve:<{ReadingsVal(substr("$DEVICE",0,length("$DEVICE")-5),"state","-")}>,setMode,setTemp,<%off>,<%on>
attr Raumklima commands { 'setMode' => 'setMode:', 'Raumklima.off' => {fhem(\"set \" . substr(%DEVICE, 0, length(%DEVICE)-5) . \" off\"}}
attr Raumklima mapping {'setMode' => '',WZ_HeatingValve => 'Wohnzimmer',SZ_HeatingValve => 'Schlafzimmer'}
attr Raumklima nameStyle style='text-align:left;;'
attr Raumklima valueStyle style='text-align:center;;'
attr Raumklima group Raumklima


Ich schaffe es momentan alle Daten anzuzeigen habe aber folgende Probleme:
* Ich möchte mit zusätzlichen Schaltflächen den Dummy schalten. (<off> <on> im define.)
   Leider bekomme ich es über das commands attr nicht hin den perl code ausführbar zu machen...
* Die Status Spalte wird nur als Text angezeigt es wird nicht das Icon vom Dummy angezeigt
* Das im readingsgroup angezeigte define in spalte 1 z.B. "WZ_HeatingValve" ist nicht klickbar...würde gerne mit einem Klick in das Define kommen.

:-\

justme1968

du solltest das hier: <{ReadingsVal(substr("$DEVICE",0,length("$DEVICE")-5),"state","-")}> so schreiben:<{ReadingsVal(substr("$DEVICE",0,length("$DEVICE")-5),"state","-")}@state>sonst gehen longpoll updates nicht weil die redaingsGroup nicht weiss das du state anzeigst.

oder du schreibst es gleich so:...,state@{substr("$DEVICE",0,length("$DEVICE")-5)},...

zu deinem commands attribut:
- um den ganzen {...} ausdruck gehören anführungzeichen
- die \ vor den " gehören da nicht hin.
- du musst die variablen version von $DEVICE verwenden

...,'Raumklima.off' => '{fhem("set " . substr($DEVICE, 0, length($DEVICE)-5) . " off"}',...


wenn du state als icon anzeigen möchtest kannst du entweder valueIcon verwenden und die icons zuweisen oder du konfigurierst dir in deinem dummy direkt devStateIcon so das der dummy an sich schon das richtige icon anzeigst und setzt valueIcon auf %devSateIcon.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

ulli

#1046
Hallo Andre,

danke für die Antwort, habe auch gleich alles wie folgt umgesetzt :

define Raumklima readingsGroup <%sani_heating>,<Status>,<Mode>,<Soll-Temp>,<Off>,<On> .._HeatingValve:state@{substr("$DEVICE",0,length("$DEVICE")-5)},setMode,setTemp,<%off>,<%on>
attr Raumklima commands { 'setMode' => 'setMode:', 'Raumklima.off' => '{fhem("set " . substr($DEVICE, 0, length($DEVICE)-5) . " off"}' }
attr Raumklima mapping {'setMode' => '',WZ_HeatingValve => 'Wohnzimmer',SZ_HeatingValve => 'Schlafzimmer'}
attr Raumklima nameStyle style='text-align:left;;'
attr Raumklima valueStyle style='text-align:center;;'
attr Raumklima group Raumklima


Leider zeigt er mir jetzt die Spalte für das "state" garnicht mehr an.
Woran kann das denn noch liegen?
Ich bekomme folgenden Fehler im Logifle...irgendwie kommt er mit den Klammern nicht zurecht?
SZ_HeatingValve: length("$DEVICE")-5)}: Unmatched ) in regex; marked by <-- HERE in m/^length("$DEVICE")-5) <-- HERE }$/ at ./FHEM/33_readingsGroup.pm line 676.

Wenn ich den zusätzliche Schalter "off" mit dem oben genannten attribute klicke. Führt wer das off Kommando für alle Zeilen der readingGroup aus.
d.h. wenn ich auf Schlafzimmer off klicke dann setzt er Wohnzimmer und Schlafzimmer auf off.....was stimmt da nicht?

Bzgl. der Icons des State`s ich habe bereits den Dummy mit devStateIcon konfiguriert...

(Habe gerade auch nochmal ein update durchgeführt...)


RoBra81

Hallo,

ich stehe bei der ReadingsGroup für meine Heizungen vor zwei Herausforderungen. Ich habe bei meiner Heizungslogik ein at, dass es jedoch nicht immer gibt. Ist es vorhanden, dann möchte ich zum einen den Ausführungszeitpunkt (Internal NTM) anzeigen und zum Anderen ein Kommando definieren, dass beim Klick auf die Zeit ausgeführt wird. Nun meine Herausforderungen: Da das at nicht immer definiert ist, dachte ich an
...,!+NTM,...
Da ich die Zeit aber innerhalb der Zeile eines anderen Devices anzeigen möchte, habe ich
...,!+NTM@{%DEVICE.".at.doAuto"},...
genommen - hier scheint aber das ! nicht zu funktionieren (wenn das at nicht exisitert, wird die Spalte ausgelassen).
Daher habe ich mir ein Sub in der MyUtils geschrieben, das mir den Wert zusammenbaut bzw. einen Leerstring zurückgibt, wenn das at nicht existiert.
...,<{getHeatingModeUntil($DEVICE,"")}@controlMode>,...
Zweite Herausforderung ist nun: Wie referenziere ich die Zelle nun, um ein Kommando darauf zu definieren?

Vielen Dank
Ronny

ulli

Ronny,

versuch mal folgendes
...,!+NTM@!{%DEVICE.".at.doAuto"},...

Ein zusätzliches "!" nach dem @.
Hat bei mir funktioniert.

RoBra81

Vielen Dank!

Mit $ statt % funktioniert's:

...,!+NTM@!{$DEVICE.".at.DoAuto"},...

Leider funktioniert kein LongPoll, da ich kein "Aktualisierungsreading" per @ mehr angeben kann, aber zumindest das mit dem Command funktioniert...