NEWS
Test Adapter Calendar v1.2.x
Test Adapter Calendar v1.2.x
-
@D3ltoroxp scheint als würde dein "Abfall_Kalender_4" nicht existieren.
@J-A-R-V-I-S said in Test Adapter Calendar v1.2.x:
@D3ltoroxp scheint als würde dein "Abfall_Kalender_4" nicht existieren.
Ich hab's jetzt auch ohne Variable gelöst und die Datenpunkte direkt abgefragt. So klappt es nun.
Jetzt fehlt mir nur noch folgendes. Wenn eben in meinen überprüften Tagen z.b. kein Wort "Papiertonne" auftaucht, dann möchte ich das auch Triggern. Klappt nur irgendwie nicht.

Und "Day 0" heißt, Tag danach ? Dachte immer das wäre der Tag vom Event.
Auch Triggert er hier irgendwie nicht auf eine aktualisierung.

So hat es ja @ts020339 als Beispiel gezeigt. Hier wird ja auf den Hauptodner getriggert, reagiert der Trigger auch auf die darunterliegenden Datenpunkt ? Weil bei mir hätte das Script eigentlich was schreiben sollen, hat es aber nicht. Habs dann manuell ausführen lassen und das hat dann auch geklappt. Also muss ich am Trigger selber, die ganzen DP's mit angeben ?

-
@D3ltoroxp said in Test Adapter Calendar v1.2.x:
@J-A-R-V-I-S said in Test Adapter Calendar v1.2.x:
@D3ltoroxp du könntest das mit einem Skript lösen. Aktuell bietet der Adapter eine solche Funktion nicht. Ebenso gibt es auch keine Unterstützung für Trash schedule Adapter.
Könntest du mir helfen, wie so ein Script aussehen sollte ? Das Script sucht dann nach bestimmten Wörtern, wie z.b. Gelber Sack, Papiertonne ? Das muss ich in den einzelne DP's prüfen ? Tag 1 , 2 , 3 usw. Und wenn z.b. Gelber Sack an Tag 3 steht, könnte ich dann einen Text erstellen lassen und dann immer auf den Tag prüfen und mit schreiben lassen, Quasi dann in 3 in 2 morgen...
Hi,
ich habe das mit einem (programmiertechnisch sehr unschön aufgebauten
) Blockly-Skript quick-and-dirty gelöst. Es geht mit Sicherheit eleganter, aber bei mir funktioniert es:

Hier der Export des Skripts, musst du über die Import-Funktion im Blockly-Modus wieder importieren und danach die ganzen Datenpunkte korrekt anpassen:
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="ms/mac`WD(VseC=8za5r">Abfall_Kalender_1</variable> <variable id="ob4oe00h_sL|Cx{zpd4Z">Abfall_Kalender_2</variable> <variable id="#Ap]{|xc~^Rv#eFZ4[/`">Abfall_Kalender_3</variable> </variables> <block type="on_ext" id="::h9y24TVAGz[FtSo{t|" x="-62" y="-237"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="ZAY6,?b^Z{9@*d-3,q*r"> <field name="oid">calendar.0.ZW5kYXJzL0FiZmFsbC9wZXJzb25hbC.0.events</field> </shadow> </value> <statement name="STATEMENT"> <block type="variables_set" id="pVZcd9/m(?B$)5-l`[cp"> <field name="VAR" id="ms/mac`WD(VseC=8za5r">Abfall_Kalender_1</field> <value name="VALUE"> <block type="get_value" id="03L5k6HOb|Q3^Z},~X,U"> <field name="ATTR">val</field> <field name="OID">calendar.0.ZW5kYXJzL0FiZmFsbC9wZXJzb25hbC.1.events</field> </block> </value> <next> <block type="variables_set" id="Cvgsdi;55kxt~E.mxF$l"> <field name="VAR" id="ob4oe00h_sL|Cx{zpd4Z">Abfall_Kalender_2</field> <value name="VALUE"> <block type="get_value" id="Q_5/H9/[J0^QcJO;U[!H"> <field name="ATTR">val</field> <field name="OID">calendar.0.ZW5kYXJzL0FiZmFsbC9wZXJzb25hbC.2.events</field> </block> </value> <next> <block type="variables_set" id="vHH20oCr0EG(^;]DjqQ`"> <field name="VAR" id="#Ap]{|xc~^Rv#eFZ4[/`">Abfall_Kalender_3</field> <value name="VALUE"> <block type="get_value" id="aH.W#8Y%~U~4WoE/{kNJ"> <field name="ATTR">val</field> <field name="OID">calendar.0.ZW5kYXJzL0FiZmFsbC9wZXJzb25hbC.3.events</field> </block> </value> <next> <block type="control" id="d`Kr`NNgN+K+-NR{J|d:"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.blaue_tonne</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="Y7Md(1^h17WOe%w_`@TV"> <field name="NUM">0</field> </block> </value> <next> <block type="controls_if" id="reT~O^XpYo+Fs[tu8iw:"> <value name="IF0"> <block type="math_number_property" id="X2Me,vme^BLkr-/p5~G="> <mutation divisor_input="false"></mutation> <field name="PROPERTY">POSITIVE</field> <value name="NUMBER_TO_CHECK"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="#QaI[..Je5?,AXz:@XCk"> <field name="NUM">0</field> </shadow> <block type="text_indexOf" id="speN0grHA38fp44;#b}-"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="L?XX]{~2LHozN,M[Ne}E"> <field name="VAR" id="#Ap]{|xc~^Rv#eFZ4[/`">Abfall_Kalender_3</field> </block> </value> <value name="FIND"> <shadow type="text" id=")UGm;(Al80?Qe$jV2|IZ"> <field name="TEXT">Papier</field> </shadow> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="EMG+cc4B6bet6@[[PWd["> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.blaue_tonne</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="+0uBw{-T[4Rmc@?Wad}v"> <field name="NUM">3</field> </block> </value> </block> </statement> <next> <block type="controls_if" id="tyYw*9wR#,Qs`aA$zp$7"> <value name="IF0"> <block type="math_number_property" id="oA])+4U80NvxNt!(@g?S"> <mutation divisor_input="false"></mutation> <field name="PROPERTY">POSITIVE</field> <value name="NUMBER_TO_CHECK"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="#QaI[..Je5?,AXz:@XCk"> <field name="NUM">0</field> </shadow> <block type="text_indexOf" id="r-)kqYJVjPO5d-C/C.+A"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="G`1t._6fuZD`V|ZtAk|["> <field name="VAR" id="ob4oe00h_sL|Cx{zpd4Z">Abfall_Kalender_2</field> </block> </value> <value name="FIND"> <shadow type="text" id="MkI;ApMu^`.6DX^}gj7e"> <field name="TEXT">Papier</field> </shadow> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="j_6qzB%=Y^;_u$LmxYl5"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.blaue_tonne</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="zY}NaNC`O|SFLHSZ$3O6"> <field name="NUM">2</field> </block> </value> </block> </statement> <next> <block type="controls_if" id="{g%.!5tUKWyYmpof}$#C"> <value name="IF0"> <block type="math_number_property" id="Fg|$$FSs7%*f//hq1P]o"> <mutation divisor_input="false"></mutation> <field name="PROPERTY">POSITIVE</field> <value name="NUMBER_TO_CHECK"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="#QaI[..Je5?,AXz:@XCk"> <field name="NUM">0</field> </shadow> <block type="text_indexOf" id="G|,ub$/6Yypr!WZt]K.,"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="4Z3(tAg[+cS~jSeAEEvS"> <field name="VAR" id="ms/mac`WD(VseC=8za5r">Abfall_Kalender_1</field> </block> </value> <value name="FIND"> <shadow type="text" id="d-nzR{K@ocarrCRxI5A]"> <field name="TEXT">Papier</field> </shadow> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="F;b@+R){AISOJ^0``YF/"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.blaue_tonne</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="W5ENk85EMi.)N3IRHSAu"> <field name="NUM">1</field> </block> </value> </block> </statement> <next> <block type="control" id="{+]Krfa=T15A_ORqaRJZ"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.gelbe_tonne</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id=")C@CG8?G]B{|GUv=1$@|"> <field name="NUM">0</field> </block> </value> <next> <block type="controls_if" id="78gh/g5cCJ}`%4si.T[u"> <value name="IF0"> <block type="math_number_property" id="=fK.qMLlu=o!|x_P|`8$"> <mutation divisor_input="false"></mutation> <field name="PROPERTY">POSITIVE</field> <value name="NUMBER_TO_CHECK"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="#QaI[..Je5?,AXz:@XCk"> <field name="NUM">0</field> </shadow> <block type="text_indexOf" id="+-fzJ)K@}`yZhFvA6m/Q"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="dgM.I$?TPozYH;NF5%~P"> <field name="VAR" id="#Ap]{|xc~^Rv#eFZ4[/`">Abfall_Kalender_3</field> </block> </value> <value name="FIND"> <shadow type="text" id=";BaXtBk:uo$9e/DP!c%C"> <field name="TEXT">Gelbe Tonne</field> </shadow> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="*Ii+`MFIjT}ai=Pd2#v;"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.gelbe_tonne</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="rJIQNIKvjTtEsU,azc#)"> <field name="NUM">3</field> </block> </value> </block> </statement> <next> <block type="controls_if" id="BPQ*?}|(x(~,6OpqsGop"> <value name="IF0"> <block type="math_number_property" id="EAO?RGC~(8:NVzoa!ejP"> <mutation divisor_input="false"></mutation> <field name="PROPERTY">POSITIVE</field> <value name="NUMBER_TO_CHECK"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="#QaI[..Je5?,AXz:@XCk"> <field name="NUM">0</field> </shadow> <block type="text_indexOf" id="bw$pXuGuhataW1bF0RjS"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="HeZ~=Yyk#35:6$gLd~Zl"> <field name="VAR" id="ob4oe00h_sL|Cx{zpd4Z">Abfall_Kalender_2</field> </block> </value> <value name="FIND"> <shadow type="text" id="yCvyrB~UyoSvoTpL%[N["> <field name="TEXT">Gelbe Tonne</field> </shadow> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="?7AnyziEB~PPC?8B%(Ea"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.gelbe_tonne</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="wSXJcyoh;fY2KK-F9Fy("> <field name="NUM">2</field> </block> </value> </block> </statement> <next> <block type="controls_if" id="l%yimr!`Y4P@|Ms7-)t!"> <value name="IF0"> <block type="math_number_property" id="GW{@7|~0=GK8R;:b|)]K"> <mutation divisor_input="false"></mutation> <field name="PROPERTY">POSITIVE</field> <value name="NUMBER_TO_CHECK"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="#QaI[..Je5?,AXz:@XCk"> <field name="NUM">0</field> </shadow> <block type="text_indexOf" id="-098|?ncu-myAn#?ccqk"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="r1m]HVVvhV,mnxy)%,f."> <field name="VAR" id="ms/mac`WD(VseC=8za5r">Abfall_Kalender_1</field> </block> </value> <value name="FIND"> <shadow type="text" id=":?u3,xt!v~O71J_r6d2f"> <field name="TEXT">Gelbe Tonne</field> </shadow> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="5.o:ZigzT2#jw^7n$jRH"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.gelbe_tonne</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="JoJP}~=UgP86Oi5rI])["> <field name="NUM">1</field> </block> </value> </block> </statement> <next> <block type="control" id="pCjO3TX~,JM2Ef]xcWBW"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.restmuell_tonne</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="koQRv$/%escC#.1@8wuY"> <field name="NUM">0</field> </block> </value> <next> <block type="controls_if" id="@.HqEy),J0U5+P{,C2S{"> <value name="IF0"> <block type="math_number_property" id="]zYJN@9{lB2GRe_T%H=N"> <mutation divisor_input="false"></mutation> <field name="PROPERTY">POSITIVE</field> <value name="NUMBER_TO_CHECK"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="#QaI[..Je5?,AXz:@XCk"> <field name="NUM">0</field> </shadow> <block type="text_indexOf" id="`]?e%1Qo9Sr[e`xX8PGN"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="QEbSH{d`TRXP^ZH4B-tD"> <field name="VAR" id="#Ap]{|xc~^Rv#eFZ4[/`">Abfall_Kalender_3</field> </block> </value> <value name="FIND"> <shadow type="text" id="g.m(YS:CMKOWs9^J:U{T"> <field name="TEXT">Restmüll</field> </shadow> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="Q[r8U=PCBc-~kVsfCrmZ"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.restmuell_tonne</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id=".WqN_5X7XI%4B@%z+{G7"> <field name="NUM">3</field> </block> </value> </block> </statement> <next> <block type="controls_if" id=".sMIt;rGFzIx{t3iOn@5"> <value name="IF0"> <block type="math_number_property" id="l(y*~]fzkQ:+M9x6T;Vy"> <mutation divisor_input="false"></mutation> <field name="PROPERTY">POSITIVE</field> <value name="NUMBER_TO_CHECK"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="#QaI[..Je5?,AXz:@XCk"> <field name="NUM">0</field> </shadow> <block type="text_indexOf" id="e:Xw{*ukZ!q-q/:CoO3S"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="xi_sb23_GskpI{Rv#cTu"> <field name="VAR" id="ob4oe00h_sL|Cx{zpd4Z">Abfall_Kalender_2</field> </block> </value> <value name="FIND"> <shadow type="text" id="z[)K]{h!aPwH`?^JuoQ#"> <field name="TEXT">Restmüll</field> </shadow> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="~U|}HT4Ig?(_.$]VaGD2"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.restmuell_tonne</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="fDRrwx/C9vF;^DF(?Zbg"> <field name="NUM">2</field> </block> </value> </block> </statement> <next> <block type="controls_if" id="0As4KpHi@C[C9dCtjD-I"> <value name="IF0"> <block type="math_number_property" id="B$k#iBIOrPZP)F0iB~xN"> <mutation divisor_input="false"></mutation> <field name="PROPERTY">POSITIVE</field> <value name="NUMBER_TO_CHECK"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="#QaI[..Je5?,AXz:@XCk"> <field name="NUM">0</field> </shadow> <block type="text_indexOf" id=":=2Ca`pkw}]z*XRv#Pos"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="8Fn}CMG98wf539gT;bA-"> <field name="VAR" id="ms/mac`WD(VseC=8za5r">Abfall_Kalender_1</field> </block> </value> <value name="FIND"> <shadow type="text" id="`VLIXa*TSE-`3L78totp"> <field name="TEXT">Restmüll</field> </shadow> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="FTc;H?92%IAej2SIeM9K"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.restmuell_tonne</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="2jAP+dz=hTMx5QD!(?=8"> <field name="NUM">1</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </xml>Vielleicht hilft es Dir ja. Ich suche in den Kalenderdatenpunkten der nächsten 2 Tage (calendar.0.XXX.1.events=heute, calendar.0.XXX.2.events=morgen,calendar.0.XXX.3.events=übermorgen) nach dem Vorkommen bestimmter Einträge (z.B. "Papier") und schreibe den kurzfristigsten Eintrag dann in einen eigenen Datenpunkt (z.B. "javascript.0.blaue_tonne"). Diese eigenen Datenpunkte haben eine Liste:

,die die Zahlen 0-4 wieder in Begriffe ("heute","morgen", etc.) übersetzen. Diese eigenen Datenpunkte kannst Du dann in Deiner Visualisierung referenzieren (ich mache das in iQontrol).

Aber wie gesagt, das ganze geht mit Sicherheit eleganter, wenn man sich ein richtiges Skript bastelt!
Grüße!@ts020339 Danke noch mal für dein Script. Hab es noch mal etwas abgeändert und erweitert. Aber scheint ganz gut zu klappen. Muss ich jetzt mal die Tage schauen. Hier und da muss ich noch ein wenig verfeinern und auch dann auf zurücksetzten, wenn der Event vorbei ist.


@J-A-R-V-I-S Mal eine Frage, hast du hier für was geplant ?
Material Design Widget Dazu braucht man wohl json.
-
@J-A-R-V-I-S Gibts schon Neuigkeiten bezüglich der List-View?
-
@J-A-R-V-I-S Gibts schon Neuigkeiten bezüglich der List-View?
@Stephan-Schleich @liv-in-sky wäre es für dich möglich hier eine HTML Tabelle ähnlich wie vor kurzen zum Trash-Adapter für die Vis zu bauen?
-
@Stephan-Schleich @liv-in-sky wäre es für dich möglich hier eine HTML Tabelle ähnlich wie vor kurzen zum Trash-Adapter für die Vis zu bauen?
hast du eine vorstellung, wie die tabelle noch unterteilt werden soll? nach monat oder wochen( wenn ich rausfinde, wie das geht)
also eine teilüberschrift zwischen den zeilen - damit es ein bischen lebhafter wird - oder die werte für die nächsten tage in einer anderen farbe ?
erster grober entwurf:

-
hast du eine vorstellung, wie die tabelle noch unterteilt werden soll? nach monat oder wochen( wenn ich rausfinde, wie das geht)
also eine teilüberschrift zwischen den zeilen - damit es ein bischen lebhafter wird - oder die werte für die nächsten tage in einer anderen farbe ?
erster grober entwurf:

@liv-in-sky Mega, Vielen Dank für deine ständige Hilfe hier im Forum

Wöchentlich fänd ich ganz cool und wenn es möglich wäre die hinterlegten Farben als Schriftfarbe bzw als kleiner Kennzeichnungspunkt vor dem Termin um die Termine besser zuordnen zu können -
@liv-in-sky Mega, Vielen Dank für deine ständige Hilfe hier im Forum

Wöchentlich fänd ich ganz cool und wenn es möglich wäre die hinterlegten Farben als Schriftfarbe bzw als kleiner Kennzeichnungspunkt vor dem Termin um die Termine besser zuordnen zu könnenverstehe ich noch nicht
für jede angezeigte kalenderwoche soll vor dem termin ein farbiger punkt sein, der für die kalenderwoche steht ?
oder wie meinst du
-
verstehe ich noch nicht
für jede angezeigte kalenderwoche soll vor dem termin ein farbiger punkt sein, der für die kalenderwoche steht ?
oder wie meinst du
@liv-in-sky in dem Adapter kann man mehrere Konten mit Farben hinterlegen.
Vor jedem Termin soll die hinterlegte farbe als Marker (Punkt) mit dazu damit man weiß welches Konto es betrifft.
Außer dein Script splittet/sortiert es schon nach Konten -
@liv-in-sky in dem Adapter kann man mehrere Konten mit Farben hinterlegen.
Vor jedem Termin soll die hinterlegte farbe als Marker (Punkt) mit dazu damit man weiß welches Konto es betrifft.
Außer dein Script splittet/sortiert es schon nach Konten@Stephan-Schleich sagte in Test Adapter Calendar v1.2.x:
Außer dein Script splittet es bereits schon nach Konten
ok - im moment wird nur ein ganz bestimmter kalender abgefragt - ich war mir nicht sicher, ob man wirklich alle kalender aufzeigen soll - im moment müßte jeder kalender ein script haben - ds läuft aber auch nur 2-3 mal am tag
oder sollte es tatsächlich alle kalender beinhalten ?
-
@Stephan-Schleich sagte in Test Adapter Calendar v1.2.x:
Außer dein Script splittet es bereits schon nach Konten
ok - im moment wird nur ein ganz bestimmter kalender abgefragt - ich war mir nicht sicher, ob man wirklich alle kalender aufzeigen soll - im moment müßte jeder kalender ein script haben - ds läuft aber auch nur 2-3 mal am tag
oder sollte es tatsächlich alle kalender beinhalten ?
@liv-in-sky ich fände es schön wenn alles in einer Tabelle wäre, aber sortiert nach Konten, weil sonst hätte man in der vis ne Tabelle die leer wäre wenn kein Termin dafür existiert, sieht dann doof aus bzw nimmt Platz weg.
Das ist aber nur nice to have, hauptsache es gibt endlich ne Liste View
-
@liv-in-sky ich fände es schön wenn alles in einer Tabelle wäre, aber sortiert nach Konten, weil sonst hätte man in der vis ne Tabelle die leer wäre wenn kein Termin dafür existiert, sieht dann doof aus bzw nimmt Platz weg.
Das ist aber nur nice to have, hauptsache es gibt endlich ne Liste View
für heute ist erstmal feierabend - es fehlt noch ein wenig feinschliff
der stand im moment:

schätze mal am sonntag ist es fertig (morgen wird es zeitlich eng)
-
für heute ist erstmal feierabend - es fehlt noch ein wenig feinschliff
der stand im moment:

schätze mal am sonntag ist es fertig (morgen wird es zeitlich eng)
@liv-in-sky sieht mega aus, danke.
Nur kein Stress


-
@liv-in-sky sieht mega aus, danke.
Nur kein Stress


-
Aktuelle Test Version 1.2.0 Veröffentlichungsdatum 11.04.2020 Github Link https://github.com/WLAN-Kabel/ioBroker.calendar NPM Link https://www.npmjs.com/package/iobroker.calendar Ich habe bereits eine Umfrage gemacht, bei der herauskam, dass doch ein paar diesen Adapter gut fänden. Hier ist jetzt die erste richitige Version zum testen.
Funktionen
- lädt eure Termin aus eurem Google Konto in ioBroker
- lädt eure Termin aus eurem CalDAV Konto in ioBroker
- lädt eure Termin aus euren iCal Dateien in ioBroker
Konfiguration für Google Kalender
Damit Ihr den Adapter verwendet könnt, benötigt ihr einen API Key.API Key besorgen:
- Gehe auf https://console.cloud.google.com/apis/dashboard und logge dich mit deinem Google Account ein.
- Öffne die Liste in der Kopfzeile und erstelle im sich öffnenden Fenster ein neues Projekt.
- Gib einen Namen ein und klicke auf erstellen. Beispielname: "ioBroker"
- Gehe sicher, dass du das richtige Projekt in der Liste ausgewählt hast.
- Öffne den Tab "Bibliothek" und suche dort nach "calendar".
- Wähle den Eintrag "Google Calendar API" und klicke auf "aktivieren".
- Klick auf "APIs & Dienste" und öffne den Tab "OAuth-Zustimmungsbildschirm".
- Schreibe dort einen Namen und speichere die Seite ab.
- Öffne den Tab"Anmeldedaten" und klicke auf "Anmeldedaten erstellen".
- Wähle "OAuth-Client-ID" und im nächsten Fenster "Sonstige".
- Trage dort einen Namen ein z.B. "ioBroker" oder "Client".
- Speichere diese Seite und kopiere dir die darauf angezeigte Client ID sowie das Client Secret.
- Füge beide in die Adapterconfig ein und starte den Adapter.
Authentifizieren:
Um nun einen Kalender hinzuzufügen, klicke auf "Authenticate" und melde dich mit deinem Google onto an. Nachdem du die Berechtigung erteilt hast, erscheint ein Code. Diesen bitte kopieren.
Dann in den Adaptereinstellungen über das "+"-Symbol einen neuen Eintrag anlegen, den Code in der Spalte "Code" einfügen und den Haken bei "aktiv" setzen. Alles speichern. Alle verfügbaren Kalender werden eingelesen und gespeichert. Sie können in der Adapterkonfig aktiviert werden.
CalDAV Kalender (Getestet mit Nextcloud, Web.de and Mail.de)
Einfach im Reiter CalDAV die Zugangsdaten sowie den Caldav-Server (Principals URL) eintragen.Basisurlliste
- Nextcloud: https://<Hostname>/remote.php/dav or https://<Hostname>/remote.php/dav/principals
- Web.de: https://caldav.web.de
- mail.de: https://kalender.mail.de
- Posteo: https://posteo.de:8443
Wenn du weitere kennst, dann gebe mir gerne Bescheid, damit ich diese mit aufnehmen kann.
iCal Kalender
Einfach im Reiter CalDAV den Dateipfad im Feld 'Hostname' eintragen.Changelog
1.2.0 (2020-04-11)
- Neue iCal-Bibliothek zum besseren Lesen von Kalendern und zur Unterstützung zukünftiger Funktionen zum Schreiben von Ereignissen
- Google-Autorisierung geändert
- iCal Ereignisse mit Wiederholung werden jetzt behandelt
- Regelmäßige Anfrage nach neuen Kalendern hinzugefügt
- Es wurde ein Fehler behoben, der eine "TypeError"-Nachricht in iCal-Kalendern verursachte
1.1.3 (2020-03-22)
- Möglichkeit zum Laden von ICS-Dateien von Webservern hinzugefügt
- Option zum Ignorieren von Zertifikatfehlern hinzugefügt
- CalDAV 'time range' wird verwendet, um den Datenverkehr zu reduzieren
- CalDAV Bibliothek überarbeitet
- Google-Funktionen in eigene Bibliothek ausgelagert
- CalDAV-Fehler behoben, der auftrat, wenn Endzeiten fehlten
- Weitere Debug-Meldungen hinzugefügt
1.1.2 (2020-03-03)
- #15 - Ein schwerwiegender Fehler wurde behoben, der zu falschen Anmeldeinformationen für CalDav-Konten führte
- #15 - Ein Fehler wurde behoben, der eine 'TypeError'-Nachricht verursachte
1.1.1 (2020-02-26)
- Passwortverschlüsselung hinzugefügt
- Fehlermeldungen für caldav lib erweitert
- Es wurde ein Problem behoben, das beim Lesen von Nullereignissen zu Fehlern führte
1.1.0 (2020-02-05)
- Die Unterstützung von CalDAV wurde erweitert
- Unterstützung für iCal-Dateien hinzugefügt
1.0.0/1.0.1 (2020-01-11)
- Caldav-Unterstützung hinzugefügt
- In einem Widget können mehrere Kalender angezeigt werden
- Weitere Widget-Einstellungen hinzugefügt
- Statestruktur geändert
- Termine werden jetzt im Popup angezeigt
- Einige interne Funktionen überarbeitet
- Fehler beim Speichern der Authentifizierungsdaten behoben
- Fehlende Abhängigkeit hinzugefügt
0.2.0 (2020-01-08)
- Unterstützung mehrerer Kalender für ein Konto
- Kalenderfarbe wird jetzt unterstützt
- Neue Kalenderstates color, name und account
- Der Kalendername wird als Statename festgelegt
- Es wurde ein Problem behoben, bei dem die Anmeldeinformationen nicht richtig kontrolliert wurden
- Der Name und die Farbe des Google-Kalenders werden übernommen
0.1.0 (2020-01-07)
- Kalender-Widget hinzugefügt
- Cron-Job und Server werden beim beenden gestoppt
- Es wurde ein Problem behoben, bei dem nicht alle States gelöscht wurden
- Einige Debug-Meldungen wurden hinzugefügt
- Adapter aus Stateeinstellungen entfernt
- Problem behoben, bei dem Serien-Terminen nicht geladen wurden
0.0.1
- Erstveröffentlichung
Datenpunkte
calendar.0.calendar.0.<id>.
Datenpunkt Beschreibung account Email-Adresse des Kontos color Kalenderfarbe name Kalendername calendar.0.<id>.<day>
Datenpunkt Beschreibung date Datum des Tages (ist noch nicht fertig) events Termine als JSON Array eventsNumber Anzahl der Termine Widget
Ich habe bereits ein Kalender Widget eingebaut. Dieses ist noch nicht fertig, lässt sich aber schon benutzen. Es ist ans Material Design angelehnt. Die Farbe des Kalenders wird auf die Events angewendet.

Um die Termine angezeigt zu bekommen, einfach den Kontodatenpunkt z.B. calendar.0.<id> auswählen.
Ideen
Für weitere Ideen und Vorschläge bin ich offen und freue mich auf eure Hilfe.
Ich habe auch schon die Frage nach dem schreiben von ICS bzw. CalDAV Terminen gesehen. Hierzu werde ich mich informieren und auch versuchen einzubauen.
Ihr müsst nicht zwingend hier Kommentieren, sondern könnt dies auch auf Github tun.
Vielen Dank im Vorraus

Todo
- Microsoft Konto anbinden
- Termine erstellen
- Widget erweitern
Hilfe
Wer Probleme bei der Konfiguration hat, kann auch mal in den folgenden Threads vorbeischauen, dort wurden schon ein paar Probleme erleutert (https://forum.iobroker.net/topic/27136/ideensammlung-kalender-adapter-google-outlook/29 & https://forum.iobroker.net/topic/27797/test-adapter-contact-v1-1-x). Der Adapter verwendet die gleiche Vorgehensweise bezüglich des API Keys und Authetifizierung.@J-A-R-V-I-S sagte in Test Adapter Calendar v1.2.x:
Wähle "OAuth-Client-ID" und im nächsten Fenster "Sonstige".
Hi Jarvis!
"Sonstiges" gibt es nicht. Was wähle ich am besten?

EDIT: mit TV gings
-
@liv-in-sky Sieht super aus Vielen Dank

-
@J-A-R-V-I-S
Ich bekomme immer diese Meldung.
calendar.0 2020-08-12 15:49:30.533 error (6946) [calendar.0.ZV8yX2RlI3dlZWtudW1AZ3JvdXAudi] Error: Not exists calendar.0 2020-08-12 15:49:30.533 error (6946) [calendar.0.ZGUuYXVzdHJpYW4jaG9saWRheUBncm] Error: Not exists calendar.0 2020-08-12 15:49:30.532 error (6946) [calendar.0.YWRkcmVzc2Jvb2sjY29udGFjdHNAZ3] Error: Not exists calendar.0 2020-08-12 15:49:30.492 error (6946) [calendar.0.ZmFtaWx5MTE2NjI1MzgyNDUzNjE3NT] Error: Not existsVon wo kommen diese Zeichen nach calendar.0.?
Im Adapter sind sie nirgends ersichtlich.
-
@J-A-R-V-I-S
Ich bekomme immer diese Meldung.
calendar.0 2020-08-12 15:49:30.533 error (6946) [calendar.0.ZV8yX2RlI3dlZWtudW1AZ3JvdXAudi] Error: Not exists calendar.0 2020-08-12 15:49:30.533 error (6946) [calendar.0.ZGUuYXVzdHJpYW4jaG9saWRheUBncm] Error: Not exists calendar.0 2020-08-12 15:49:30.532 error (6946) [calendar.0.YWRkcmVzc2Jvb2sjY29udGFjdHNAZ3] Error: Not exists calendar.0 2020-08-12 15:49:30.492 error (6946) [calendar.0.ZmFtaWx5MTE2NjI1MzgyNDUzNjE3NT] Error: Not existsVon wo kommen diese Zeichen nach calendar.0.?
Im Adapter sind sie nirgends ersichtlich.
@Negalein so werden ide kalender in den datenpunkten gezeigt

-
@Negalein so werden ide kalender in den datenpunkten gezeigt

@liv-in-sky sagte in Test Adapter Calendar v1.2.x:
so werden ide kalender in den datenpunkten gezeigt
Ja, nur hab ich nur 1 Kalender aktiv. Der wird auch korrekt angezeigt.

Die 4 aus dem Log gibt es nirgends. -
@liv-in-sky sagte in Test Adapter Calendar v1.2.x:
so werden ide kalender in den datenpunkten gezeigt
Ja, nur hab ich nur 1 Kalender aktiv. Der wird auch korrekt angezeigt.

Die 4 aus dem Log gibt es nirgends.@Negalein stoppe mal den adapter - lösche alle datenpunkte unter calendar.0
wenn das nix bringt - weiß ich leider nícht (evtl deinstallieren und neu installieren - aber warte mal, bis die profis sich melden)
-
@Negalein stoppe mal den adapter - lösche alle datenpunkte unter calendar.0
wenn das nix bringt - weiß ich leider nícht (evtl deinstallieren und neu installieren - aber warte mal, bis die profis sich melden)
@liv-in-sky sagte in Test Adapter Calendar v1.2.x:
stoppe mal den adapter - lösche alle datenpunkte unter calendar.0
Ich warte msl auf @J-A-R-V-I-S & Co.
DP usw. hab ich schon versucht.