Hauptmenü

Floorplan Symbol für ECMDDevice

Begonnen von Netior, 09 Februar 2013, 16:31:10

Vorheriges Thema - Nächstes Thema

Netior

Hallo

Da jetzt die Seiten bei ECMDDevices on/off nicht mehr wechseln wollte ich nun Floorplan implementieren.

Soweit so gut.
Floorplan funktioniert und das Symbol (Lämpchen) ist auf dem Floorplan und kann angeklickt werden.
 
Nur leider kann ich die Geräte nur einschalten. Sobald sie eingeschaltet sind, passiert mit einem Klick auf das Symbol nichts mehr.

Welche Funktion steckt hinter dem Symbol? Im moment anscheinend nur On.
Muss ich noch ein Toggle in der Classdef für das ECMDDEvice implementieren,
oder könnte man irgendwie das toggle der Utils benutzen?

Gruss und Dank

rudolfkoenig

Falls das Problem auch in FHEMWEB auftaucht: die Liste der Befehle, die vom geraete zurueckkomt + eventMap muss on+off enthalten.

Netior


Hallo

Das Problem tritt auch in FHEMWEB auf.

in der classdef hab ich "set on cmd" und "set off cmd" implementiert.
Ich habe die eventmap nicht nochmals explizit in der cfg eingegeben.

Was meinst du mit "die Liste der Befehle, die vom geraete zurueckkomt"?

Ich habe neu noch ein "set on postproc" und "set off postproc" die jeweils "on" bzw "off" zurückgeben.

Es scheint als ob das Symbol nicht richtig weiss obs jetzt ein ist oder aus.

mfg

rudolfkoenig

>  Das Problem tritt auch in FHEMWEB auf.

Na dann uessen wir Uli nicht behelligen :)

>  Was meinst du mit "die Liste der Befehle, die vom geraete zurueckkomt"?

FHEMWEB kriegt mit "set <devicename> ?" die Liste der verfuegbaren Befehle raus, on und off muss hier nach dem text "Unknown argument ?, choose one of " auftauchen.

Was angezeigt wird, wird anhand STATE geprueft (bzw. das, was in der Ausgabe von list in der passenden Zeile steht). Das Angezeigte wird direkt als icon, aber auch nach der rueckuebersetzng mit eventmap als icon gesucht.

Netior

Hallo Rudolf

Ich hab ja ECMDDevices.
In der Classdef sind on und off definiert. Und wenn ich z.B. im Floorplan in der definition "toggle" benutzen will kommt deine erwähnte Fehlmeldung mit chose one of off or on...

Im WEBFHEM kann ich on oder off klicken, dass Symbol wechselt den Status korrekt solange ich die on off buttons neben dem symbol benutze.
Unter STATE steht off
Unter REadings hab ich drei Zeilen.
off => leer
on => leer
state => off

Ich habe ein postproc für das ECMDDevice welches das OK vom Ethersex rausfiltert und einen leeren String "" zurück gibt.
set on postproc {""} und set on postproc {""}
Ohne die postprocs steht unter state bei readings "on OK" oder entsprechend "off OK".

Jedenfalls siehts jetzt bei den states gleich aus wie bei einer structure die ich habe. Bei der Structure funktioniert das on off über das Symbol, aber bei den ECMDDevices nicht.

Sorry, ich schnalls nicht im Moment...

   

Dr. Boris Neubert

Zitat von: Netior schrieb am So, 10 Februar 2013 15:31Hallo Rudolf

Ich hab ja ECMDDevices.

Sorry, ich schnalls nicht im Moment...


Mach ein telnet zum FHEM und gib ein: set DeinGeraet ? und poste hier, was Du zurückbekommst.

ECDMDevice ist übrigens so programmiert, daß es genau die in der classdef definierten set-Befehle zurückgibt. Funktioniert bei mir mit FHEMWEB herrlich. Aber sehen wir erstmal, wie es bei Dir aussieht.

Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

Netior

Hallo Boris

Bei telnet auf fhem mit set xxxxx ? Kommt folgendes raus:

Unknown argument ?, choose one of on off

Ist doch eigentlich o.k. Oder nicht?

Dr. Boris Neubert

Zitat von: Netior schrieb am So, 10 Februar 2013 18:26Hallo Boris

Bei telnet auf fhem mit set xxxxx ? Kommt folgendes raus:

Unknown argument ?, choose one of on off

Ist doch eigentlich o.k. Oder nicht?

Das ist OK. Im Webfrontend solltest Du hinter der Lampe ein "on" und ein "off" sehen, welche das Gerät einschalten oder ausschalten.

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

Netior

Hallo boris

Das ist richtig, ich seh das symbol und daneben die schaltflächen on und off. Die schaltflächen funktionieren einwandfrei für on und off. Ich kann die geräte darüber ein bzw ausschalten.

Nur das symbol funkioniert nicht. Rsp. Ich wenn die lampe aus ist, state off, kann ich auf das lampensymbol klicken. Das gerät schalter ein, state wechselt auf on und symbol wechselt auf brennende lampe.

Drück ich nochmals auf das symbol, geschieht nichts. Drück ich aber die schaltfläche off, schaltet das gerät aus und das symbol wechselt auf die nicht leuchtende lampe.


rudolfkoenig

Vmtl. ist webCmd definiert, dieser ueberschreibt das automatische Umschalten von on/off .

Netior

hallo

Ja, ich habe webCmd zu beginn in der cfg definiert für ein dummy.
Habe jetzt aber für das ecmddevice webCmd on:off nochmals definiert. Auch das hilt nicht.
Gerät lässt sich nicht über Symbol ausschalten.

Muss an den webCmd noch was ran?

rudolfkoenig

KEIN webcmd.
Falls webCmd gesetzt ist, dann soll toggle nicht funktionieren.
Kann nur weiterhelfen, falls ich eine minimale aber komplette definition bekomme.

Netior

Hallo

Folgende Einträge hab ich in der Config unter anderem....

...


attr global autoload_undefined_devices 1
attr global logfile ./log/fhem-%Y-%m.log
attr global modpath .

attr global statefile ./log/fhem.save
attr global userattr fm_fav fm_groups fm_name fm_order fm_type fm_view icon room_map structexclude webCmd
attr global verbose 3

define telnetPort telnet 7072 global

define WEB FHEMWEB 8083 global

define WEBS FHEMWEB 8084 global
attr WEBS smallscreen 1

define WEBP FHEMWEB 8085 global
attr WEBP hiddenroom Howto,Wiki,Details,Definition...,Unsorted,Select style,Event monitor
attr WEBP touchpad 1

# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog ./log/fhem-%Y-%m.log fakelog

define autocreate autocreate
attr autocreate autosave 1
attr autocreate device_room %TYPE
attr autocreate filelog ./log/%NAME-%Y.log
attr autocreate weblink 1
attr autocreate weblink_room Plots


dann weiter...


########################################################################
#FUNK
########################################################################
define rfm12 ECMD telnet 192.168.0.134:2701
attr rfm12 classdefs RFM12ASK=/home/pi/fhem/classdef/rfm12ask.classdef
attr rfm12 room Interfaces

define sz_UNTERBETTBEL ECMDDevice RFM12ASK 1 1
attr sz_UNTERBETTBEL room Schlafzimmer
attr sz_UNTERBETTBEL webCmd on:off


in rfm12ask.classdef steht folgendes:

set on cmd {"rfm12 2272 "."%Hauscode".",0,".sprintf(128+%GeraeteNr)." 63 3"}
set on postproc {""}
set off cmd {"rfm12 2272 "."%Hauscode".",0,".sprintf(0+%GeraeteNr)." 63 3"}
set off postproc {""}


Das Schalten funktioniert über on off, aber das Symbol schaltet immer nur Ein. Wenns ein ist, nicht mehr aus.

Ist da schon was ersichtlich was nicht gehen kann?

mfg

Tom_S

hallo,

möchte mich hier mal anschließen, da ich das selbe Verhalten beobachtet habe.
Wenn ich ein Dummy mit "attr setList on off" erstelle, wird durch klicken auf das Symbol der Zustand gewechselt.
Bei den ECMD Devices, egal ob Relaisports oder RFM12, wird durch Klicken auf das Symbol nur eingeschaltet. Wenn ich die Maus über das Symbol bewege, sehe ich in der Statuszeile im Browser was aufgerufen wird. Dort steht "fhem?ecmd.RelaisX=set RelaisX on&room=Unsorted". Auch wenn das on Symbol dargestellt wird.
Durch Zufall ist mir aufgefallen, das ein "Save Config" dieses Verhalten ändert.
Die Symbole die "on" waren können jetzt durch Klicken augeschaltet werden, und danach auch wieder ein. Das geht aber nur ein mal.

Auch kann der Status nicht in einem Notify verwendet werden. Ein notify RelaisX:on set irgendwas bewirkt nichts, genauso wie ein RelaisX:off.
Verwende ich nur notify RelaisX set irgendwas wird das Kommando beim Statuswechsel ausgeführt.

Ich verwende einen Pollin NetIO mit ethersex.

Viele Grüße
RaspberryPI2 + pilight, 3x AVR-NetIO, LW12, LW12HX, LW12FC; MAX-Lan, ESP8266, Arduino, H801, Neopixel, Solaredge, Modbus

UliM

Moin,
wie verhält sich das icon in fhemweb?
Hruß, Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.