Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS Termin Reminder by RD

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    LBS Termin Reminder by RD

    Hallo Zusammen
    Ich habe nun meinen ersten LBS programmiert und ins Download-Portal kopiert.

    Es handelt sich um einen generischen Termin Reminder, wie es z.B. schon für andere Abfallkalender oder die beliebte Mülltonnen-Abfuhr umgesetzt wurde. Obwohl es bereits solch ähnliche LBS gibt (Dank an Timberland für seine Inspiration), wollte ich etwas machen, das flexibel ist und nur mit einer einzigen Termindatei auskommt. Zudem sollte diese Textdatei relativ einfach zu verwalten sein.

    In der Visu könnte dies dann so aussehen:
    IMG_0134.PNG IMG_0133.PNG IMG_0132.PNG

    Und hier im Logikeditor: Logikeditor4.png


    Eine (umfangreiche, 10-seitige) Anleitung kann hier runtergeladen werden.

    Hier noch der Auszug aus dem Hilfe-Text:

    Dieser Logikbaustein (LBS) ist ein Termin Reminder. Aus einer Anzahl vorgegebener Termine (Terminserie: z.B. 12.03.2016, 03.06.2016, 01.08.2016...) wird der nächste und optional übernächste Termin (vom aktuellen Tagesdatum gerechnet) angezeigt.
    Zudem wird über ein Status ausgegeben, ob sich der nächste Termin in der frei definierbaren Vorwarnzeit befindet. Zusätzlich wird die Anzahl Tage bis zum nächsten Termin berechnet.

    Mit der Option "wotag" kann gesteuert werden, ob der übernächste Termin oder lieber der Wochentag des nächsten Termins ausgegeben wird.
    Der LBS berücksichtigt standardmässig max. 5 unterschiedliche Terminserien, welche dann in der Visu beliebig aufbereitet werden können (z.B. Mülltonne, Filterwechsel etc.).
    Diese max. Anzahl kann sehr einfach erweitert werden. (Im Script sind die entsprechenden Stellen kommentiert und vorbereitet.)

    Standardmässig wird eine Vorwarnzeit von 1 Tag verwendet (=Alle Termine von heute oder morgen). Dies ist optimal für die typischen Mülltonnen-Erinnerungen.
    Man kann jedoch optional für jede einzelne Terminserie eine andere Vorwarnzeit definieren. (z.B. mehr Tage bei Wartungsterminen etc.)

    Die Textdatei mit den Terminserien wird über den Eingang E3 (URL) verbunden. Wenn die Datei auf dem Edomi-Server abgelegt wurde (z.B. /usr/local/edomi/www/termine.txt), dann kann als URL der folgende Pfad angegeben werden: http://IP_von_Edomi/termine.txt
    Der Aufbau der Textdatei ist wie folgt:
    TS1=07.01.2016;14.01.2016;21.01.2016;28.01.2016;04 .02.2016;11.02.2016;18.02.2016;25.02.2016;03.03.20 16;10.03.2016;
    TS2=05.01.2016;12.01.2016;19.01.2016;26.01.2016;02 .02.2016;09.02.2016;16.02.2016;23.02.2016;01.03.20 16;08.03.2016;15.03.2016;
    TS3=04.03.2016;10.06.2016;02.09.2016;11.11.2016;
    TS4=03.03.2016;09.06.2016;01.09.2016;10.11.2016;
    TS5=22.02.2016;23.02.2016;24.02.2016;25.02.2016;

    Wichtig ist, dass jede Terminserie in einer eigenen Zeile gespeichert ist und dass diese Zeile zwingend mit TSx= anfängt, wobei x eine fortlaufende Zahl beginnend mit 1 ist.
    Die einzelnen Daten müssen mit ; (Semikolon) getrennt werden und als TT.MM.JJJJ formatiert sein.
    Eine chronologische Sortierung ist nicht zwingend, da diese später im Script nochmals sortiert wird.
    (In einer zukünftigen Version werden die Terminserien als Spalten anstatt Zeilen erwartet, da dies für einen Export aus Excel etc. einfacher ist.)

    Als Trigger (E1) empfiehlt sich das Edomi System KO ("täglich" oder "stündlich").

    Weitere Infos und ein Beispiel findest du im beiliegenden ZIP-File.

    E1: = !=0 = Trigger
    E2: = debug (1=true, 0=false / Bei true werden Variablenwerte in das Edomi TraceLog geschrieben. Nur für Tests verwenden!)
    E3: = url (Pfad zum Textfile)
    E4: = Wochentag anstatt übernächstes Datum (1=true, 0=false)
    E5: = Vorwarnzeit Terminserie 1 (in Tagen)
    E6: = Vorwarnzeit Terminserie 2 (in Tagen)
    E7: = Vorwarnzeit Terminserie 3 (in Tagen)
    E8: = Vorwarnzeit Terminserie 4 (in Tagen)
    E9: = Vorwarnzeit Terminserie 5 (in Tagen)

    A1: = Anzahl Termine in Vorwarnzeit
    A2: = TS1 Status (In Vorwarnzeit 1=true, 0=false)
    A3: = TS1 Datum 1 (Nächstes Datum)
    A4: = TS1 Datum 2 / WoTag (Übernächstes Datum oder Wochentag)
    A5: = TS1 Intervall (in Tagen)
    A6: = TS2 Status (In Vorwarnzeit 1=true, 0=false)
    A7: = TS2 Datum 1 (Nächstes Datum)
    A8: = TS2 Datum 2 / WoTag (Übernächstes Datum oder Wochentag)
    A9: = TS2 Intervall (in Tagen)
    A10: = TS3 Status (In Vorwarnzeit 1=true, 0=false)
    A11: = TS3 Datum 1 (Nächstes Datum)
    A12: = TS3 Datum 2 / WoTag (Übernächstes Datum oder Wochentag)
    A13: = TS3 Intervall (in Tagen)
    A14: = TS4 Status (In Vorwarnzeit 1=true, 0=false)
    A15: = TS4 Datum 1 (Nächstes Datum)
    A16: = TS4 Datum 2 / WoTag (Übernächstes Datum oder Wochentag)
    A17: = TS4 Intervall (in Tagen)
    A18: = TS5 Status (In Vorwarnzeit 1=true, 0=false)
    A19: = TS5 Datum 1 (Nächstes Datum)
    A20: = TS5 Datum 2 / WoTag (Übernächstes Datum oder Wochentag)
    A21: = TS5 Intervall (in Tagen)

    #2
    cool danke bei so einer tollen Anleitung werde ich jetzt auch mal versuchen den ersten LBS zu aktivieren

    Kommentar


      #3
      Kurze Rückmeldung: ich bin bis zum Import in der Verwaltung gekommen (Update 1.19 schon installiert) beim Import werden sämtliche Bausteine mit Ok aufgeführt. Bei deinem kommt

      19000180_lbs.php (Termin Reminder by RD): 3 Fehler /Syntaxfehler

      schade schon aus mit testen

      Kommentar


        #4
        Danke für dein Feedback. Tja, weit bist du dann noch nicht gekommen.
        Da ich es noch nicht unter 1.19 getestet habe, kann ich dir im Moment keine Antwort dazu geben. Wundert mich aber schon, dass mit 1.19 ein Syntaxfehler gemeldet wird, was bei 1.18 noch funktioniert hat (sofern der Baustein beim Runterladen nicht defekt ging). Meist zeigt Edomi beim Importieren grobe Fehler wie fehlende Klammern etc. an. Aber das sollte ja nicht der Fall sein.

        Ich werde vermutlich nicht grad dazukommen, auf 1.19 upzudaten. Somit hab bitte noch etwas Geduld, bis ich dir antworten kann. (Zur Sicherheit habe ich dir noch den LBS als ZIP angehängt. Kannst ihn ja nochmals von hier reinkopieren und den Import testen. Falls etwas über das Download-Portal schief ging.)
        Angehängte Dateien

        Kommentar


          #5
          danke mit der zip Datei klappt es

          Kommentar


            #6
            Ich habe festgestellt, das im DL einige Zeilen gefehlt haben. Ich habe den DL mal repariert. Evtl. muss sich das Alfred noch mal anschauen!

            Kommentar


              #7
              Ich bekomme keine Live werte

              Die Text Datei wird angezeigt wenn ich diese im Browser öffne

              Das Projekt habe ich wie in der Anleitung beschrieben aktiviert, aber es werden keine Live-Werte angezeigt. Muß ich bei den internen Ko´s bzgl Datentyp etwas beachten? Habe es schon mit verschiedenen probiert ändert aber nichts.

              jemand ein Tipp für mich, bin in Sachen Logik/Visu ganz am Anfang ich versuche dank den tollen Anleitung Edomi & LBS irgendwo den Einstieg zu finden

              @danke Vento
              Angehängte Dateien

              Kommentar


                #8
                Zitat von Simone Beitrag anzeigen
                Ich bekomme keine Live werte
                Ohne den konkreten Baustein zu kennen wuerde ich vermuten, Du musst den trigger triggern (deswegen heisst er so ).
                Also an E1 nen Oszillator haengen oder ein KO das Du dann manuell aenderst.

                gruesse :: Michael

                Kommentar


                  #9
                  @wintermute danke für deine Hilfe, wenn ich die Anleitung richtig verstehe reicht die 1 zum testen

                  Der Baustein ist von Rick nur in der Edomi Version 1.18 getestet vielleicht funktioniert dieser in 1.19 nicht mehr. Irgendwie habe ich kein Glück mit meinen ersten Tests. Kamera Hikivision will nicht, Fritzbox zu neue Firmware Version, Baustein mit toller Anleitung will auch nicht langsam glaube ich es liegt an mir jetzt werde ich nochmal mit den Videos anfangen, irgendein Erfolgserlebnis brauche ich jetzt mal


                  Anleitung:
                  Trigger ist der wichtigste Eingang. Ohne ihn wird der LBS nicht gestartet. Zu Beginn und zum Testen kann man dort einfach eine
                  1 setzen, sodass er garantiert gestartet wird.
                  Wichtig: Der Baustein wird nur beim Starten von Edomi bzw. Aktivieren des Projekts gestartet! Eine 1 bedeutet nicht, dass der LBS sich laufend aktualisiert.


                  Kommentar


                    #10
                    Hey Simone, ist ja auch gleich die nicht ganz so leichte Kost. Kamera kann ich nicht beurteilen mangels Erfahrung, bei der Fritzbox stehe ich (und sicher andere auch) an gleicher Stelle (je nach Antwort von Christian würde ich mich vielleicht mal an eine LBS-Telnet-Alternative für alle neuen Firmwares machen) und der Termin-LBS ist auch auf meiner must-have-Liste, aber dennoch mache ich erst einmal im wesentlichen "normalen" Krams aus dem edomi-Baukasten. Wenn ich auch nur 10% meiner Aktoren und Sensoren in edomi habe, bin ich schon eine Weile beschäftigt - und es soll ja auch gut aussehen. Daher Test mit Visu A, dann mal Visu B... Und es ist direkt nutzbar für Licht und Rolläden und Heizung und... das ist Prio A (und man hat sofort was davon), die Termin und Müllabfuhr und Fritzbox und auch sonos/squeezebox sind bei mir eher Prio B. Okay, da kann ich natürlich nur für mich sprechen.

                    Anmerkung wegen Fritzbox: Eine eigenen LBS-Lösung wäre schon deswegen nicht so charmant, weil die edomi-Standard-Angebote für Anruferliste, etc nicht davon partizipieren. Daher wäre hier eine Lösung von Christian sicher gut. Da könnte man aber natürlich auch zuarbeiten mit dem TR-064-Zugriff, parsen,...

                    Daher: Nicht entmutigen lassen!

                    Kommentar


                      #11
                      Hi Simone, wie sieht denn das Textfile das du einliest? Und wird es auch eingelesen? Hast du den link richtig gesetzt?

                      Kommentar


                        #12
                        Ich habe das Textfile aus der Zip genommen und per filezilla in den vorgeschlagenen Ordner hochgeladen. Das Textfile wird auch wie in der Anleitung beschrieben über http://ip/termine.txt angezeigt. Ob es tatsächlich eingelesen wird weiß ich nicht.

                        @saegfisch stimmt so schnell wird nicht aufgegeben! Das mit der visu habe ich auch schon überlegt, aber CSS und kein Demoprojekt zum abschauen ob der start da so gut läuft? Deshalb mal Videos anschauen vielleicht komm ich da weiter

                        Im System-Log habe ich nur das gefunden, weiß aber nicht ob das was mit dem LBS zu tun hat
                        2016-02-28 14:30:35 383994 MAIN 35920 START Ok
                        2016-02-28 14:30:35 686460 EXEC 36002 Logs/Archive/Autobackups aufräumen Ok
                        2016-02-28 17:21:02 940727 MAIN 35920 Prozess MAIN beenden... (Modus 10) Ok
                        2016-02-28 17:21:03 005425 LOGIC 35995 Logik-Berechnungen werden beendet
                        Zuletzt geändert von Simone; 28.02.2016, 18:56.

                        Kommentar


                          #13
                          rdeckard: Gab es einen Grund, ein eigenes Format für die Termindateien statt iCalender zu verwenden?

                          Kommentar


                            #14
                            Simone
                            Setze mal den debug Eingang auf 1 und aktiviere das Projekt neu. Du solltest dann in der Verwaltung -> Logdateien einen roten "Trace-Log" Eintrag sehen. Was steht dort bezüglich dem LBS drin?

                            toggle
                            ähm...ich habe mir eigentlich keine Gedanken über ein bestimmtes Format gemacht. Ich habe einfach im Excel die Termine erfasst und dieses dann als CSV-Exportiert. Dann die Werte von Spalten auf Linien geändert (mit einem Texteditor), weil ich das Gefühl hatte, dass es einfacher wäre.
                            Unterdessen bin ich der Ansicht, dass eine Spalten-Form besser wäre, weil man dann den Excel-CSV-Export mehr oder weniger 1:1 verwenden könnte. Aber dazu muss ich den Code entsprechend anpassen. Kommt noch, aber zurzeit habe ich dafür leider keine Zeit.

                            Kommentar


                              #15
                              Simone, in der Zip Datei das Text File ist eine LIESMICH.TXT. Hoffe du hast nicht das genommen.
                              Dein txt File muss so aufgebaut sein.

                              TS1=07.01.2016;14.01.2016;21.01.2016;28.01.2016;04 .02.2016;11.02.2016;18.02.2016;25.02.2016;03.03.20 16;10.03.2016;
                              TS2=05.01.2016;12.01.2016;19.01.2016;26.01.2016;02 .02.2016;09.02.2016;16.02.2016;23.02.2016;01.03.20 16;08.03.2016;15.03.2016;
                              TS3=04.03.2016;10.06.2016;02.09.2016;11.11.2016;
                              TS4=03.03.2016;09.06.2016;01.09.2016;10.11.2016;
                              TS5=22.02.2016;23.02.2016;24.02.2016;25.02.2016;

                              Kommentar

                              Lädt...
                              X