Readings von Calview ausgeben 99_myUtils

Begonnen von Mustermann, 31 Dezember 2018, 10:10:07

Vorheriges Thema - Nächstes Thema

Mustermann

Hallo,
ich würde gerne von meinen Calview die Readings in eine SUBroutine übernehmen, um dann mit den Werten weiter zu arbeiten.

mein bisheriger Ansatz:
define testdummy dummy
testdummy um zu schauen welche Werte im Array sind

setreading testdummy ausgabe leer
Reading in testdummy definiert

sub test($) {                                       
my @evt = @_;
 
fhem ("setreading testdummy ausgabe @evt")
}

SUBroutine gespeichert als: 99_testUtils.pm


define test notify Muellkalender_view:.* {test("$EVENT")}
notify zum auslösen der SUB


Leider ist die Ausgabe nicht wie erwartet alle Reading von CALVIEV sondern nur ein Reading (siehe Bild)
Was mache ich hier falsch?

Hoffe es kann mir jemand weiter helfen oder nen Tipp geben.
Grüße Daniel

Otto123

Hi,

ich bin auch kein Perlexperte, aber was mir auffällt:

  • Du definierst ein Array my @evt = @_;
  • Dann schreibst Du dieses Array bei jedem Aufruf in das gleiche Reading Ausgabe.

    • Ist es sinnvoll ein Array zu nehmen?
    • Ist es sinnvoll immer das gleiche Reading zu nehmen?
  • Dein notify nimmt jedem event vom Muellkalender_view:

    • Hast Du Dir die mal angeschaut?
    • Wieviele sind das?

Der letzte Event "gewinnt" das Reading.
Was willst Du denn eigentlich tun?

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

Mustermann

Hallo Otto,
ZitatWas willst Du denn eigentlich tun?
Ich würde gerne alle Readings (es sind 1377 siehe Bild) von Muellkalender_view in ein Array packen.
Um diese dann in einer SUB auszuwerten.
Mein Ziel ist es irgendwie die Readings in meiner SUB verfügbar zu machen.

Grüße Daniel

Otto123

Um dann am 3.1. zu sagen die Restmülltonne muss raus?  ;D
Wenn ja: hilft Dir das als Idee?

Sorry bei deiner eigentlichen Aufgabenstellung kann ich so nicht helfen.

Du verbrauchst ziemlich "viel Strom" für einen Kalender der sich das ganze Jahr nicht ändert, der Termin im Tagesrythmus wechselt, aber  alle 9000 sek abfragen? ::)

Guten Rutsch
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

Mustermann

Danke für den Link zu deinem Blog.
Im Grunde sollte es genau das werden, ein Benachrichtigung für die Müllabfuhr.

Das werd ich mal so probieren wie bei dir im Blog beschrieben.

Evtl. kann mir ja noch wer sagen wie ich Readings in eine SUB übernehme.

DANKE dir schon mal und ein gesundes neues.

Otto123

Gesundes neues Jahr!

Also prinzipiell ist das kein Ding in einer Sub ein Reading zu lesen. Aber ich vermute bei Deiner Aufgabenstellung hat keiner wirklich Lust mitzudenken.
Du hast die Daten im Kalender.
Du hast die Daten im FHEM / Calendar
Du hast die Daten im Calview
Du willst jetzt die Daten noch in einen Dummy schreiben um dann eine Benachrichtigung für die Müllabfuhr zumachen - Kopfschüttel  ;D

Wie aufgezeigt geht das direkt aus dem Calendar, in dem man dort einfach die Daten ausliest die man braucht. Den Zwischenschritt/Umweg Calview finde ich unnötig. Es gibt sogar ein extra Abfall Modul dafür, dass finde ich auch unnötig!
Das Calendar Modul kann mittlerweile so viel! Was immer das Problem birgt es zu verstehen um einen klitzekleinen Teil zu lösen.

Tipp: Ich weiß nicht auf welchem Weg eine 99_testUtils.pm überhaupt im System geladen wird. Der empfohlenen Weg für eigene Subroutinen ist die 99_myUtils.pm !

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