Ankündigung

Einklappen
Keine Ankündigung bisher.

Müllentsorgung

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

    #61
    Nein ich benutze nicht den Designer da der bei mir nicht laufen möchte. Ich lade mir die Datein mit SSH2 Client und bearbeite sie im Windows Editor (nicht Wordpad).

    MFG Maggi

    Kommentar


      #62
      Ja, das könnte schon zu Problemen führen. Beispielsweise wird Notepad als Standardeditor immer ein <LF><CR> anhängen, wo Linux nur ein <LF> erwartet (ist erstmal nicht schlimm, nur unübersichtlich). Und vermutlich wird die Datei auch im ANSI-Standard gespeichert, sie sollte aber UTF8-codiert sein, wie das Zielsystem sie erwartet (das kannst Du im Speichern-Dialog auswählen).

      Du kannst auch zu Notepad++ greifen, dafür gibt es eine Erweiterung, die zumindest die Schlüsselworte hübsch einfärbt, außderdem werden die Klammern mitgezählt, es gibt also eine rudimentäre Konsistenzprüfung.

      Oder Du bringst den Designer zum Laufen normalerweise funktioniert der gut, es gibt eigentlich nur 2 Fußangeln, 1. falsche Java-Version (32-Bit vs. 64-Bit) 2. Die UI-Vorschau ist kaputt, vergiss sie also, docke das Browserfenster ab und schließe es, damit wächst der Eingabebereich auch etwas

      Kommentar


        #63
        Ok Danke ich werde das mal ausprobieren. Was mir eben aufgefallen ist ich habe meine VM Openhab gestartet nun werden die Tage bei der Müllabfuhr in Englisch angezeigt vorher stand es in Deutsch dran habe nichts geändert einfach über Nacht.

        Da ist mir noch eine Frage eingefallen ist es möglich mehr Verschachtelungen einzubauen also wenn ich auf Wetter Online klicke das ich dann eine Auswahl bekomme für verschiedene Orte und wenn ich dann auf den Ort klicke geht er zu den Wetterdaten?

        MFG Maggi
        Zuletzt geändert von csamaggi; 05.01.2016, 17:10.

        Kommentar


          #64
          Guten Abend,

          ich habe das nachgebaut und bei mir funktioniert das super! Erstmal danke schön, für die super Ideen!!!
          Was mir noch gefallen würde, wäre ein Jahreskalender, der aus den Textdateien generiert wird. Da ich kein Java Profi bin, würde ich mich daran probieren, aber ich glaube ich brauche noch eine gute Idee für den richtigen Ansatz. Also wenn einer Eine hat, dann nur raus damit.

          Gruss
          Norbert

          Kommentar


            #65
            Guten Abend,
            eine Frage hab ich noch, wie habt ihr die Benachrichtigung, dass morgen Müll kommt, geregelt? Mein Ansatz war so:
            Code:
             [COLOR=#3933FF][FONT=Monaco][SIZE=11px][COLOR=#931a68]rule[/COLOR][COLOR=#000000] [/COLOR]"Notification trash Yellow"[/SIZE][/FONT][/COLOR]
              [COLOR=#4E9072][FONT=Monaco][SIZE=11px]//[U]aus[/U] [U]Exec[/U]-Input [U]Anzeige[/U] [U]für[/U] [U]Mülltermine[/U] [U]berechnen[/U][/SIZE][/FONT][/COLOR]
              [FONT=Monaco][SIZE=11px]    [COLOR=#931a68]when[/COLOR][/SIZE][/FONT]
              [COLOR=#3933FF][FONT=Monaco][SIZE=11px][COLOR=#000000]        [/COLOR][COLOR=#931a68]Time[/COLOR][COLOR=#000000] [/COLOR][COLOR=#931a68]cron[/COLOR][COLOR=#000000] [/COLOR]"0 0 18 * * ?"[/SIZE][/FONT][/COLOR]
              [FONT=Monaco][SIZE=11px]    [COLOR=#931a68]then[/COLOR][/SIZE][/FONT]
              [FONT=Monaco][SIZE=11px]     [COLOR=#931a68]var[/COLOR] DateTime date_yellow[/SIZE][/FONT]
              [FONT=Monaco][SIZE=11px]        [COLOR=#931a68]var[/COLOR] DateTime date_now[/SIZE][/FONT]
              [FONT=Monaco][SIZE=11px]        date_yellow = parse([COLOR=#3933ff]""[/COLOR]+Exec_TrashYellow.state)[/SIZE][/FONT]
              [FONT=Monaco][SIZE=11px]        date_now =  parse([COLOR=#3933ff]""[/COLOR]+now.getYear+[COLOR=#3933ff]"-"[/COLOR]+now.getMonthOfYear+[COLOR=#3933ff]"-"[/COLOR]+now.getDayOfMonth)[/SIZE][/FONT]
              [FONT=Monaco][SIZE=11px]        [COLOR=#931a68]if[/COLOR] (date_now.equals(date_yellow.minusDays([COLOR=#909090]1[/COLOR]))) [/SIZE][/FONT]
              [FONT=Monaco][SIZE=11px]        { [/SIZE][/FONT]
              [COLOR=#3933FF][FONT=Monaco][SIZE=11px][COLOR=#000000]            sendNotification([/COLOR]"EMAIL"[COLOR=#000000],[/COLOR]"[U]gelbe[/U] [U]Tonne[/U]!"[COLOR=#000000])[/COLOR][/SIZE][/FONT][/COLOR]
              [FONT=Monaco][SIZE=11px]            logDebug([COLOR=#3933ff]"[/COLOR][COLOR=#3933ff][U]Müll[/U][/COLOR][COLOR=#3933ff]"[/COLOR], [COLOR=#3933ff]"[/COLOR][COLOR=#3933ff][U]Morgen[/U][/COLOR][COLOR=#3933ff] [/COLOR][COLOR=#3933ff][U]gelb[/U][/COLOR][COLOR=#3933ff]"[/COLOR])[/SIZE][/FONT]
              [FONT=Monaco][SIZE=11px]        }[/SIZE][/FONT]
              [COLOR=#931A68][FONT=Monaco][SIZE=11px]end[/SIZE][/FONT][/COLOR]
            Aber ich habe keine Benachrichtigung bekommen und das Log was auch leer.

            Kommentar


              #66
              Aktive Benachrichtung hab ich noch keine. Steht aber auf der TODO Liste.
              Aktuell zeige ich lediglich auf der Startseite der Visu immer den nächsten Abfuhrtermin (egal welche Müllart) an.

              Kommentar


                #67
                Hi, die Benachrichtigung funktioniert nach dem Update auf 1.8 jetzt.
                Wie sieht die Sitemap denn aus, so dass der nächste Termin angezeigt wird?

                Kommentar


                  #68
                  Hallo,
                  ich erhalte folgenden Error:

                  Jan 15 09:58:54 raspberrypi openhab[477]: 2016-01-15 09:58:54.962 [ERROR] [m.r.internal.engine.RuleEngine] - Error during the execution of startup rule 'Calculate trash dates': Invalid format: ""

                  rule.

                  rule "Calculate trash dates"
                  //aus Exec-Input Anzeige für Mülltermine berechnen
                  when
                  System started or
                  Time cron "0 0 2 * * ?" or
                  Item Admin_UpdateTrash changed to ON
                  then
                  logDebug("RULES", "Rule 'Calculate trash dates' started")
                  var DateTime date_black
                  var DateTime date_yellow
                  var DateTime date_now
                  var String trash_black
                  var String trash_yellow

                  date_black = parse(""+Exec_TrashBlack.state)
                  date_yellow = parse(""+Exec_TrashYellow.state)
                  date_now = parse(""+now.getYear+"-"+now.getMonthOfYear+"-"+now.getDayOfMonth)

                  if (date_now.equals(date_black)) { trash_black="heute" }
                  else if (date_now.equals(date_black.minusDays(1))) { trash_black="morgen" }
                  else if (date_now.equals(date_black.minusDays(2))) { trash_black="übermorgen" }
                  else { trash_black=date_black.toString("dd.MM.yyyy") }

                  if (date_now.equals(date_yellow)) { trash_yellow="heute" }
                  else if (date_now.equals(date_yellow.minusDays(1))) { trash_yellow="morgen" }
                  else if (date_now.equals(date_yellow.minusDays(2))) { trash_yellow="übermorgen" }
                  else { trash_yellow=date_yellow.toString("dd.MM.yyyy") }

                  TrashBlack.postUpdate(""+trash_black)
                  TrashYellow.postUpdate(""+trash_yellow)
                  TrashNext.postUpdate(trash_next)

                  Admin_UpdateTrash.postUpdate(OFF)
                  logDebug("RULES", "Rule 'Calculate trash dates' completed")
                  end


                  Jemand eine Idee was ich falsch mache?

                  Besten Dank

                  Kommentar


                    #69
                    Schmeiß mal die or Abfrage raus, damit gab es mal Probleme. Kannst das Skript ja zum testen mal jede minute laufen lassen.

                    Kommentar


                      #70
                      Hab ich gerade gemacht, leider ohne Erfolg...

                      Rule:

                      rule "Calculate trash dates"
                      //aus Exec-Input Anzeige für Mülltermine berechnen
                      when
                      Time cron "* * * * * ?"
                      then
                      logDebug("RULES", "Rule 'Calculate trash dates' started")
                      var DateTime date_black
                      var DateTime date_yellow
                      var DateTime date_now
                      var String trash_black
                      var String trash_yellow

                      date_black = parse(""+Exec_TrashBlack.state)
                      date_yellow = parse(""+Exec_TrashYellow.state)
                      date_now = parse(""+now.getYear+"-"+now.getMonthOfYear+"-"+now.getDayOfMonth)

                      if (date_now.equals(date_black)) { trash_black="heute" }
                      else if (date_now.equals(date_black.minusDays(1))) { trash_black="morgen" }
                      else if (date_now.equals(date_black.minusDays(2))) { trash_black="übermorgen" }
                      else { trash_black=date_black.toString("dd.MM.yyyy") }

                      if (date_now.equals(date_yellow)) { trash_yellow="heute" }
                      else if (date_now.equals(date_yellow.minusDays(1))) { trash_yellow="morgen" }
                      else if (date_now.equals(date_yellow.minusDays(2))) { trash_yellow="übermorgen" }
                      else { trash_yellow=date_yellow.toString("dd.MM.yyyy") }

                      TrashBlack.postUpdate(""+trash_black)
                      TrashYellow.postUpdate(""+trash_yellow)
                      TrashNext.postUpdate(trash_next)

                      Admin_UpdateTrash.postUpdate(OFF)
                      logDebug("RULES", "Rule 'Calculate trash dates' completed")
                      end

                      ===========

                      [ERROR] [.o.m.r.i.engine.ExecuteRuleJob] - Error during the execution of rule Calculate trash dates


                      ===========

                      Beim manuellen ausführen von

                      > ./trash.sh yellow = erhalte ich die richtige Ausgabe 2016-01-19
                      > ./trash.sh black = 2016-01-16
                      Zuletzt geändert von crax; 15.01.2016, 18:17.

                      Kommentar


                        #71
                        Ich habe noch folgende Anpassung vorgenommen:

                        import org.openhab.core.library.types.*
                        import org.openhab.core.persistence.*
                        import org.openhab.model.script.actions.*
                        import org.joda.time.*


                        rule "Calculate trash dates"
                        //aus Exec-Input Anzeige für Mülltermine berechnen


                        when
                        Time cron "0 0 1 * * ?"
                        then
                        logDebug("RULES", "Rule 'Calculate trash dates' started")
                        var DateTime date_black
                        var DateTime date_yellow
                        var DateTime date_now
                        var String trash_black
                        var String trash_yellow

                        date_black = parse(""+Exec_TrashBlack.state)
                        date_yellow = parse(""+Exec_TrashYellow.state)
                        date_now = parse(""+now.getYear+"-"+now.getMonthOfYear+"-"+now.getDayOfMonth)

                        if (date_now.equals(date_black)) { trash_black="heute" }
                        else if (date_now.equals(date_black.minusDays(1))) { trash_black="morgen" }
                        else if (date_now.equals(date_black.minusDays(2))) { trash_black="übermorgen" }
                        else { trash_black=date_black.toString("dd.MM.yyyy") }

                        if (date_now.equals(date_yellow)) { trash_yellow="heute" }
                        else if (date_now.equals(date_yellow.minusDays(1))) { trash_yellow="morgen" }
                        else if (date_now.equals(date_yellow.minusDays(2))) { trash_yellow="übermorgen" }
                        else { trash_yellow=date_yellow.toString("dd.MM.yyyy") }

                        TrashBlack.postUpdate(""+trash_black)
                        TrashYellow.postUpdate(""+trash_yellow)
                        TrashNext.postUpdate(trash_next)

                        Admin_UpdateTrash.postUpdate(OFF)
                        logDebug("RULES", "Rule 'Calculate trash dates' completed")
                        end

                        Jetzt habe ich zumindes die Fehlermelung nicht mehr.
                        Allerdings erhalte ich immernoch keine Daten auf der Seite.

                        Log:

                        Jan 15 18:20:18 raspberrypi openhab[477]: 2016-01-15 18:20:18.622 [INFO ] [runtime.busevents ] - Exec_TrashBlack state updated to
                        Jan 15 18:20:55 raspberrypi openhab[477]: 2016-01-15 18:20:55.680 [INFO ] [runtime.busevents ] - Exec_TrashYellow state updated to

                        Danke für eure Hilfe.

                        Kommentar


                          #72
                          Hi crax,

                          Zitat von crax Beitrag anzeigen
                          Jan 15 18:20:18 raspberrypi openhab[477]: 2016-01-15 18:20:18.622 [INFO ] [runtime.busevents ] - Exec_TrashBlack state updated to
                          Jan 15 18:20:55 raspberrypi openhab[477]: 2016-01-15 18:20:55.680 [INFO ] [runtime.busevents ] - Exec_TrashYellow state updated to
                          d.h. die Werte werden aus dem Shell-Skript erst gar nicht in Openhab eingelesen, sonst müsste dort stehen z.B.
                          Code:
                          Exec_TrashYellow state updated to 2016-01-15
                          Zitat von crax Beitrag anzeigen
                          Beim manuellen ausführen von

                          > ./trash.sh yellow = erhalte ich die richtige Ausgabe 2016-01-19
                          > ./trash.sh black = 2016-01-16
                          heißt wiederum, das Shellskript an sich funktioniert. Daher vermute ich ein Problem in der Item-Definition oder ein Berechtigungsproblem. Der openhab User muss die Berechtigung haben das Shellskript auszuführen. Schau mal nach welche Rechte und Besitzer/Gruppe das Skript hat. Und die Definition der relevanten Items würde helfen.

                          Grüße
                          Sebastian

                          Kommentar


                            #73
                            Hi Sebastian,

                            hier die Berechtigungen der trash.sh:

                            -rwxr-xr-x 1 pi pi 744 Jan 15 08:24 trash.sh

                            items:
                            =====

                            // Müll
                            DateTime NTP_Datum_Uhrzeit "Datum, Uhrzeit" { ntp="Europe/Berlin:de_DE" }

                            // Schwarze Tonne
                            String Exec_TrashBlack {exec="<[/etc/openhab/configurations/shellscripts/trash.sh black:60000:REGEX((.*?))]"}
                            String TrashBlack "Schwarze Tonne [%s]"

                            // Gelber Sack
                            String Exec_TrashYellow {exec="<[/opt/openhab/shellscripts/trash.sh yellow:60000:REGEX((.*?))]"}
                            String TrashYellow "Gelber Sack [%s]"


                            Sitemap:
                            =======

                            Frame label="Müllabfuhr" {
                            Text label="Nächste Termine" icon="calendar"{
                            Text item=NTP_Datum_Uhrzeit label="Datum [%1$td.%1$tm.%1$tY]" icon="calendar"
                            Text item=TrashBlack icon="Trash_Black" valuecolor=["heute"="red","morgen"="orange"]
                            Text item=TrashYellow icon="Trash_Yellow" valuecolor=["heute"="red","morgen"="orange"]
                            }


                            Danke für deine Bemühungen.

                            Kommentar


                              #74
                              Zitat von crax Beitrag anzeigen
                              hier die Berechtigungen der trash.sh:

                              -rwxr-xr-x 1 pi pi 744 Jan 15 08:24 trash.sh
                              Ok, hier könnte das Problem liegen. Die Datei "gehört" dem User "pi" der volle Rechte hat. Alle anderen und damit auch der openhab User haben nur die Berechtigung "4" was heißt nur lesen, aber nicht ausführen. Du kannst nun entweder die Rechte auf "755" ändern mit chmod oder den Besitzer in "openhab" ändern mit chown. Dann sollte es funktionieren.

                              MfG
                              Sebastian

                              Kommentar


                                #75
                                Hi,

                                ich habe keinen Benutzer "openhab".
                                Die Zugriffsrechte hatte ich schon auf 755 gesetzt gehabt - siehe Anhang.

                                Angehängte Dateien

                                Kommentar

                                Lädt...
                                X