[Gelöst]Problem mit at und Aufruf von Code in 99_myUtils

Begonnen von Torsten_MG, 02 Mai 2018, 16:26:42

Vorheriges Thema - Nächstes Thema

CoolTux

Das sollte das at die Funktion ja wohl ausführen. Verstehe dann das Problem nicht. noch nicht
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

rischbiter123

Ich weis nicht, ob es relevant ist, aber ich habe bei meinem Aufruf noch ein Semikolon zwischen der schließenden und der geschweiften Klammer.
4*Raspi, Max Thermostate und Fensterkontakte, FB7590, Mysensors und NanoCUL, IT und Sonoff, zigbee2mqtt2

Torsten_MG

Dann habe ich wohl an der Falschen Stelle gesucht  :(

Dann stellt sich mir die Frage, warum zwar die Sub mit dem at ausgeführt, aber anscheinend der dummy nicht gefüllt wird. Muß ich mir morgen nochmal genauer anschauen. Mir war nur aufgefallen, dass die Schriftfarben, die sich im Tablet UI täglich ändern können, sich nicht geändert haben, auch nach einem reload der Seite nicht. Erst nachdem ich {Schichtfarbe()} in die Komandozeile eingetragen habe und danach ein reload im Browser der Tablet UI Seite gemacht habe, wurden die Farben angepasst.

nils_

ungetest... aber versuch mal

sub
Schichtfarbe()
{
    my $termin = "";
    my $i = 1;
    my $farbe = -1;
    do
    {
        $termin =  ReadingsVal("vKalender_Schicht","t_00" . $i . "_summary","<undef>");
        {Log 1, "Termin: " . $termin };
        if ($termin ne "<undef>")
        {
            if ($termin eq "Frühschicht")
            {
                $farbe = 0;
            }
            elsif ($termin eq "Spätschicht")
            {
                $farbe = 1;
            }
            elsif ($termin eq "Nachtschicht")
            {
                $farbe = 2;
            }
            elsif ($termin eq "Urlaub")
            {
                $farbe = 3;
            }
            elsif ($termin eq "Krank")
            {
                $farbe = 3;
            }
            else
            {
                $farbe = 4;
            }            
            {Log 1, "Termin: " . $termin . " Farbe: " . $farbe };
            fhem("setreading Schichtfarbe_dummy t_00" . $i . "_farbe " . $farbe);
        }
        $i++;
    }while($termin ne "<undef>");
}
viele Wege in FHEM es gibt!

Wuehler

Hat der dummy vielleicht ein falsches event-on-change/Update Attribut?

Torsten_MG

@ nils_

dein Code funktioniert so wie meiner, ist aber übersichtlicher, danke!

@ Wuehler

ich habe event-on-change-reading & event-on-update-reading mal auf 1 gesetzt. Funktioniert aber trotzdem nicht.

Wenn der at triggert dann passiert im dummy nichts, wenn ich aber {Schichtfarbe()} direkt in die Komandozeile eingebe, dann ändern sich die Einträge im dummy  :o

Frank_Huber



Zitat von: Torsten_MG am 04 Mai 2018, 17:35:01
ich habe event-on-change-reading & event-on-update-reading mal auf 1 gesetzt. Funktioniert aber trotzdem nicht.

*facepalm*

Commandref zu den event-on-* Attributen lesen!!!

Gesendet von meinem S60 mit Tapatalk


CoolTux

Bitte ein list vom at und vom Dummy in der jetzigen Form.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Otto123

Zitat von: Torsten_MG am 04 Mai 2018, 17:35:01
ich habe event-on-change-reading & event-on-update-reading mal auf 1 gesetzt. Funktioniert aber trotzdem nicht.
Mann oh Mann - wo kommen immer diese Ideen her???
Spielte  denn ein Reading 1 eine Rolle?
Zitatevent-on-change-reading
The attribute takes a comma-separated list of readings. You may use regular expressions in that list. If set, only changes of the listed readings create events. In other words, if a reading listed here is updated with the new value identical to the old value, no event is created. If an optional [:threshold] is given after a reading name events are only generated if the change is >= threshold.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

nils_

Zitat von: Torsten_MG am 04 Mai 2018, 17:35:01
@ nils_
dein Code funktioniert so wie meiner, ist aber übersichtlicher, danke!
was sagt dein log dazu??

Zitat von: Torsten_MG am 04 Mai 2018, 17:35:01
@ Wuehler
ich habe event-on-change-reading & event-on-update-reading mal auf 1 gesetzt. Funktioniert aber trotzdem nicht.
da frage ich mich auch jedes mal - wie meine vorredner - wo das herkommt ?!
viele Wege in FHEM es gibt!

Torsten_MG

Bevor noch mehr Leute darüber herziehen, weil ein Anfänger was Falsch verstanden hat ( ist doch das Anfängerfragen-Forum, oder?) Ich habe mich mit dem event-on bisher nicht wirklich beschäftigt. Im Wiki habe ich die Infos dazu leider nicht gefunden, anscheinend auch dafür zu doof. Als ich die Attribute aktivieren wollte, erschien da automatisch eine 1 und ich bin davon ausgegangen, dass das richtig ist. verzeit einem Anfänger. Wäre dankbar wenn mir jemand einen Link zur Verfügung stellt, wo ich mich schlau machen kann 

Frank_Huber

klar, das passiert jedem mal. Hier ist deshalb auch keiner böse deswegen. (auch wenn es manchmal so klingt) :-)

eine einfache Google Suche nach "fhem event-on-change-reading" --> https://www.google.de/search?q=fhem+event-on-change-reading
führt direkt zum Wiki: https://wiki.fhem.de/wiki/Event-on-change-reading

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Otto123

Zitat von: Torsten_MG am 07 Mai 2018, 15:19:26
erschien da automatisch eine 1
Du, wir ziehen da nicht drüber her - aber ich wundere mich wirklich wo das herkommt!? Du bist ja nicht der Einzige.
In der Doku steht es eindeutig, siehe link von CoolTux

Also bei mir kommt da automatisch nur ein leeres Feld!? Sicher das da eine 1 erscheint?

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

CoolTux

Ich glaube die 1 kommt wenn man das leere Feld abspeichern tut.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net