Der Fehler dürfte daher rühren, dass Group zwingend von einem Group Item gefolgt sein muss, also z.B.
Group item=MyGroupItem label="blabla"
Wenn es um die Gruppierung einer Anzahl Items auf einer Unterseite geht, die nicht in einer Gruppe zusammengefasst sind, müsstest Du
Text label="blabla" verwenden.
Ankündigung
Einklappen
Keine Ankündigung bisher.
Müllentsorgung
Einklappen
X
-
Weil ich deine AussageZitat von FeaR Beitrag anzeigenIch wüsste jetzt leider nicht welche Optionen da Einfluss auf die Müllitems haben könnten.
wörtlich genommen habe und dachte es wird NICHTS angezeigt.Zitat von FeaR Beitrag anzeigenAllerdings wird in der Sitemap nichts angezeigt.
Ich habe einmal deine Sitemap mit dem Designer 1.8 validieren lassen und bekomme an jeder Stelle, wo du
ohne weitere Optionen verwendet hast eine Fehlermeldung:Code:Group label="Irgendein_Text"
Leider kann ich diese nicht weiter deuten aber vielleicht könntest du an diesen Stellen, wo du die Gruppe rein als optischen Trenner verwendest und nicht um deine Items als Gruppe anzuzeigen einmal einen Frame setzen, vielleicht hilft es ja ...Code:rule ruleGroup failed predicate: {getUnorderedGroupHelper().canLeave(grammarAccess.getGroupAccess().getUnorderedGroup_1())}?
Gruß, Sigi
Einen Kommentar schreiben:
-
Ich habe meine Sitemap via Habmin erstellt. Ich wüsste jetzt leider nicht welche Optionen da Einfluss auf die Müllitems haben könnten.
So sieht sie aktuell aus:
Code:sitemap default label="Main Menu" { Frame label="Erdgeschoss" { Group item=Jalousien label="Jalousien" icon="switch" { Switch item=Jalousien_Hoch label="Jalousien öffnen" icon="switch" Switch item=Jalousien_Runter label="Jalousien Schlie▒<9F>en" icon="switch" Switch item=Fernsehmodus Switch item=Jalousie3 Switch item=Jalousie4 icon="rollershutter" Switch item=Jalousie5 Switch item=Jalousie6 Switch item=Jalousie7 Switch item=Jalousie8 Switch item=Jalousie9 icon="rollershutter" Switch item=Jalousie10 Switch item=Sommerschaltung label="Sommerschaltung" } Group item=Heizung label="Heizungssteuerung" { Setpoint item=Thermostat_Maen_Temp minValue=17 maxValue=23 step=0.5 Setpoint item=Thermostat_Schlaf_Temp minValue=17 maxValue=23 step=0.5 Setpoint item=Thermostat_Wohnz_Temp minValue=17 maxValue=23 step=0.5 Setpoint item=Thermostat_Bad_Temp minValue=17 maxValue=23 step=0.5 Setpoint item=Thermostat_Nagel_Temp minValue=10 maxValue=23 step=0.5 Setpoint item=Thermostat_Party_Temp minValue=10 maxValue=23 step=0.5 Setpoint item=Thermostat_Dachb_Temp minValue=10 maxValue=23 step=0.5 Setpoint item=Thermostat_Gaeste_Temp minValue=10 maxValue=23 step=0.5 } Group label="Informationen" { Group label="Tuerkontakte" { Text item=Fenster_Bad label="Badezimmer [%s]" Text item=Tuer_Esszimmer label="Esszimmer [%s]" Text item=Fenster_Keller label="Kellerfenster [%s]" Text item=Tuer_Keller label="Kellertür [%s]" } Group label="Temperaturen" { Text item=Temp_Sensor_Tuer label="Draussen [%.3f °]" Text item=Fenster_Bad_Temp label="Bad [%.2f °]" Text item=Tuer_Esszimmer_Temp label="Esszimmer [%.2f °]" Text item=Fenster_Keller_Temp label="Keller [%.2f °]" Text item=Tuer_Keller_Temp label="Kellertuer [%.2f °]" } Text item=Luft_Sensor_Tuer icon="temperature" Group label="Lichtsensoren" { Text item=Licht_Sensor_Tuer label="Draussen [%d Lux]" Text item=Fenster_Bad_Licht label="Bad [%d Lux]" Text item=Tuer_Esszimmer_Licht label="Esszimmer [%d Lux]" Text item=Fenster_Keller_Licht label="Keller [%d Lux]" Text item=Tuer_Keller_Licht label="Kellertuer [%d Lux]" } Group label="Akkustände" { Text item=Thermostat_Maen_Bat Text item=Thermostat_Schlaf_Bat Text item=Thermostat_Bad_Bat Text item=Thermostat_Wohnz_Bat Text item=Thermostat_Nagel_Bat Text item=Thermostat_Dachb_Bat Text item=Thermostat_Gaeste_Bat Text item=Thermostat_Party_Bat } Text label="Müllabfuhr" icon="Trash_Brown" { Frame label="Nächste Termine" { Text item=Datum Text item=trashbrown valuecolor=["heute"="red", "morgen"="orange"] Text item=trashgrey valuecolor=["heute"="red", "morgen"="orange"] } } } Switch item=Presence } }
Einen Kommentar schreiben:
-
Ich hatte auch Probleme das script zum laufen zu bekommen da ich Openhab auf einer Synology laufen habe und die Datums Verarbeitung nur rudimentär vorhanden ist. (und wollte keine Erweiterung installieren)
Habe daher alles in Openhab gelöst.... ist bestimmt eleganter zu lösen aber es klappt ;-)
Code:import org.openhab.core.library.types.* import java.lang.Math import org.joda.time.* import java.util.List import java.util.ArrayList rule "Calculate Black trash dates" when Time cron "0 0 1 * * ?" then val TrashArray = newArrayList( "2016-01-13","2016-01-25","2016-02-10","2016-02-22","2016-03-09","2016-03-21","2016-04-06","2016-04-18","2016-05-03", "2016-05-17","2016-06-01","2016-06-13","2016-06-29","2016-07-11","2016-07-27","2016-08-08","2016-08-24","2016-09-05", "2016-09-21","2016-10-03","2016-10-19","2016-10-31","2016-11-16","2016-11-28","2016-12-14","2016-12-27") var DateTime date_trash var DateTime date_now var String trash date_now = parse(""+now.getYear+"-"+now.getMonthOfYear+"-"+now.getDayOfMonth) var index = 0 while (index<100) { date_trash = parse("" + TrashArray.get(index)) if (date_now.isAfter(date_trash)) {index = index + 1} else { if (date_now.equals(date_trash)) { trash = "Heute " + date_trash.toString("dd.MM.yyyy") index = 100} else if (date_now.equals(date_trash.minusDays(1))) { trash = "Morgen " + date_trash.toString("dd.MM.yyyy") index = 100} else if (date_now.equals(date_trash.minusDays(2))) { trash = "Übermorgen " + date_trash.toString("dd.MM.yyyy") index =100} else { trash = date_trash.toString("dd.MM.yyyy") index = 100} } } TrashBlack.postUpdate("" + trash ) endZuletzt geändert von stofferl; 31.01.2016, 18:28.
Einen Kommentar schreiben:
-
Und mit welchen Parametern hast du deine Sitemap definiert?
Einen Kommentar schreiben:
-
Huhu,
ich habe mich jetzt an den Weg des Erstellers gehalten, leider ohne Erfolg
Text label="Müllabfuhr" icon="Trash_Brown" {
Frame label="Nächste Termine" {
Text item=Datum
Text item=trashbrown icon="trash_brown" valuecolor=["heute"="red","morgen"="orange"]
Text item=trashgrey icon="trash_grey" valuecolor=["heute"="red","morgen"="orange"]
}}
Einen Kommentar schreiben:
-
Oft spielt die korrekte Reihenfolge der optionalen Elemente eine Rolle, z.B. bei den items.Zitat von FeaR Beitrag anzeigenAllerdings wird in der Sitemap nichts angezeigt.
Schreib deine Sitemap Definition doch mal analog zum Wiki ...
Einen Kommentar schreiben:
-
Hi, ich scheiter leider auch schon seit einer Weile an der Rule, villeicht kann mir einer von euch weiter helfen.
Auch bei mir komme ich zumindest bis hier hin:
2016-01-26 19:52:27 - Exec_TrashBrown state updated to 2016-06-01
2016-01-26 19:52:27 - Exec_TrashGrey state updated to 2016-09-22
2016-01-26 19:52:28 - Exec_TrashYellow state updated to 2016-02-15
Allerdings wird in der Sitemap nichts angezeigt.
Items:
Rule:Code:String Exec_TrashYellow { exec="<[/opt/openhab/shellscripts/trash.sh yellow:60000:REGEX((.*?))]" } String trashyellow "Gelber Sack [%s]" String Exec_TrashGrey { exec="<[/opt/openhab/shellscripts/trash.sh grey:60000:REGEX((.*?))]" } String trashgrey "Graue Tonne [%s]" String Exec_TrashBrown { exec="<[/opt/openhab/shellscripts/trash.sh brown:60000:REGEX((.*?))]" } String trashbrown "Braune Tonne [%s]" DateTime Datum "Date and Time: [%1$tA, %1$td.%1$tm.%1$tY]" { ntp="Europe/Berlin:de_DE" }
Und Sitemap:Code:rule "muell_yellow" //aus Exec-Input Anzeige für Mülltermine berechnen when Time cron "0 0/5 * * * ?" then var DateTime date_yellow var DateTime date_now var String trash_yellow date_yellow = parse(""+Exec_TrashYellow.state) date_now = parse(""+now.getYear+"-"+now.getMonthOfYear+"-"+now.getDayOfMonth) 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") } trashyellow.postUpdate(""+trash_yellow) end
Code:Frame item=Datum label="Nächste Termine" { Text item=trashyellow }
Ich stehe total auf dem Schlauch, denke die Rule wird nicht sauber ausgeführt, denn im Eventlog finde ich keinerlei Hinweis auf ein Update von trashyellow
Einer ne Idee?
Danke vielmals.
Grüße
Michael
Einen Kommentar schreiben:
-
Bau doch mal ein paar logInfo-Zeilen in Deine Rule ein und lass Dir die Werte in den Variablen anzeigen, vielleicht hast Du nur irgendwo einen TypeCasting-Fehler...
Einen Kommentar schreiben:
-
Hi,
habe es mittlerweile geschafft das auch das Script die vorhanden Werte ausliest.
Der Fehler lag bei den Items, hier war ein falscher Pfad eingetragen!
Schande über mein Haupt
Leider erscheint der ausgelesene Wert aktuell noch nicht in der Sitemap.Code:tail -f events.log | grep Exec 2016-01-18 15:25:15 - Exec_TrashGelb state updated to 2016-01-19 tail -f events.log | grep Exec 2016-01-18 15:26:15 - Exec_TrashGelb state updated to 2016-01-19 tail -f events.log | grep Exec 2016-01-18 15:27:15 - Exec_TrashGelb state updated to 2016-01-19
Sitemap:
Vielen Dank vorab.Code: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=TrashGelb icon="Trash_Yellow" valuecolor=["heute"="red","morgen"="orange"] }
Einen Kommentar schreiben:
-
Wie sehen die Rechte auf das Script aus? Mit welchem User ist openHAB gestartet (und mit welchem User startest Du das Script erfolgreich)?
Einen Kommentar schreiben:
-
Hi,
ich habe die rule zum testen neu aufgebaut bzw. reduziert:
Rule:
Sitemap:Code: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 var DateTime date_yellow var DateTime date_now var String trash_gelb date_yellow = parse(""+Exec_TrashGelb.state) date_now = parse(""+now.getYear+"-"+now.getMonthOfYear+"-"+now.getDayOfMonth) if (date_now.equals(date_yellow)) { trash_gelb="heute" } else if (date_now.equals(date_yellow.minusDays(1))) { trash_gelb="morgen" } else if (date_now.equals(date_yellow.minusDays(2))) { trash_gelb="übermorgen" } else { trash_gelb=date_yellow.toString("E dd.MM.yyyy") } TrashGelb.postUpdate(""+trash_gelb) end
Items:Code: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=TrashGelb icon="Trash_Yellow" valuecolor=["heute"="red","morgen"="orange"] }
leider immer noch ohne Erfolg.Code:// Gelber Sack String Exec_TrashGelb {exec="<[/opt/openhab/shellscripts/trash.sh gelb:60000:REGEX((.*?))]"} String TrashGelb "Gelber Sack [%s]"
Wie gehabt kann ich das script manuell ausführen und erhalte die werte aus der Text Datei.
Laut Syslog bekommt Openhab die Werte nicht ausgelesen:Code:./trash.sh gelb 2016-01-19
Vielen Dank.Code:tail -f /var/log/syslog | grep rash Jan 17 23:46:13 raspberrypi openhab[477]: 2016-01-17 23:46:13.763 [INFO ] [runtime.busevents] - Exec_TrashGelb state updated to Jan 17 23:47:13 raspberrypi openhab[477]: 2016-01-17 23:47:13.825 [INFO ] [runtime.busevents] - Exec_TrashGelb state updated to Jan 17 23:48:13 raspberrypi openhab[477]: 2016-01-17 23:48:13.888 [INFO ] [runtime.busevents] - Exec_TrashGelb state updated to
Einen Kommentar schreiben:
-
Was mault er denn konkret an? (Wenn Du mit dem Mauszeiger in der Fehlerhaften Zeile über die Lampe mit dem Kreuz gehst, bekommst Du einen Hilfetext)
Aber wenn ich Die Angaben Deiner .items im vorigen Post berücksichtige, gehe ich davon aus, dass Du die zwei Items TrashNext und Admin_UpdateTrash garnicht angelegt hast...
Einen Kommentar schreiben:
-
Ich habe mir gerade den Openhab Designer installiert.
Hier erhalte ich folgene Fehler:
Angehängte Dateien
Einen Kommentar schreiben:
-
Hi,
ich habe keinen Benutzer "openhab".
Die Zugriffsrechte hatte ich schon auf 755 gesetzt gehabt - siehe Anhang.
Angehängte Dateien
Einen Kommentar schreiben:


Einen Kommentar schreiben: