Hallo,
ich möchte gerne den Tomedo-Kalender abfragen, um die Heizungs- und Klimaregelung automatisch an die Praxisnutzungszeiten anzupassen. Kennt da jemand eine geeignete Tomedo-Schnittstelle oder hat das schon gemacht?
Gefragt in Frage von (250 Punkte)
0 Punkte
Ich denke nicht, dass es eine Schnittstelle gibt. Ich mache das mit Homematic und gebe die Urlaube manuell ein. Mir würde schon die Ausgabe der Urlaubstage in CSV reichen (01.01.2022,05.01.2022;23.05...).aber das werden so wenige brauchen, da frage ich gar nicht danach.
Bei uns läuft das mit FHEM und bisher auch mit manuellen Urlauben/Öffnungszeiten. Ist leider mit manuellen Einträgen etwas fehleranfällig und unflexibel, gerade was aktuell auch Sondertermine mit Impfungen etc angeht. Bisher habe ich häufig die Nutzung der Google Calender-API als "Standard" gesehen. Vielleicht könnte man die nachbauen oder es findet sich noch was besseres.

1 Antwort

Geht bestimmt mit etwas SQL-Kentnissen.

Man kann die Tomedodatenbank (postgres) über SQL abfragen (Zugangsdaten für den ausschließlichen Lesezugriff gibts beim Support) und sich zB mit dem Programm PSequel die Datenbankstruktur anschauen. Dort findet man bestimmt auch die Kalendereinträge. Der Support hilft wahrscheinlich auch beim erstellen einer passenden sql-Abfrage.
Beantwortet von (1.1k Punkte)
0 Punkte

Danke für die Antwort!

Mein erster experimenteller http/"REST"-Server dafür funktioniert jetzt als bash-oneliner auf dem Tomedo-Server mit SQL-Aufruf und läuft in einem screen. Er liefert Datum und Uhrzeit des nächsten Termins auf Port 12345 zurück.

Das ist jetzt natürlich noch ausbaufähig....

 

bash-3.2$ while true;   do echo -e "HTTP/1.1 200 OK\n\n$(PGPASSWORD=<enter-password-here> /Library/PostgreSQL/9.2/bin/psql -U tomedo tomedo -t  -c "select beginn from termin WHERE beginn > now() AND removed='f' ORDER BY beginn asc LIMIT 1;")"   | nc -w 10 -l 12345 ;  done

 

Falls eine Praxis in der aktuellen Situation mit einer solchen Lösung Gas-/Öl-/Energiesparen möchte, hier noch der Codeschnipsel für den Linux-Server mit notwendigen SQL-Anpassungen für Hausbesuche/Terminschema. Läuft bei uns seit mehreren Wochen mit fhem/HTTPMOD. Mehr Details gerne bei Interesse.
Ein stabiles REST-Interface per Java ist auf dem Plan, zeitlich aber offen.

while true;   do echo -e "HTTP/1.1 200 OK\n\nnextAppointment:$(PGPASSWORD=<enter-password-here> /opt/postgres/bin/psql -h 127.0.0.1 -U tomedo tomedo -t  -c "select beginn FROM termin LEFT JOIN terminart ON termin.terminart_ident = terminart.ident WHERE termin.beginn > now() AND terminart.bezeichnung != 'Hausbesuche'  AND removed='f' AND terminart.terminfuerresourcedoppelklick_ident IS NULL ORDER BY beginn ASC LIMIT 1;") \nlastAppointment:$(PGPASSWORD=<enter-password-here>  /opt/postgres/bin/psql -h 127.0.0.1 -U tomedo tomedo -t  -c "select beginn FROM termin LEFT JOIN terminart ON termin.terminart_ident = terminart.ident WHERE termin.beginn < now() AND terminart.bezeichnung != 'Hausbesuche'  AND removed='f' AND terminart.terminfuerresourcedoppelklick_ident IS NULL ORDER BY beginn DESC LIMIT 1;")"   | nc -N -l 12345 -W 10;  done

 

Guten Tag,

Unter der Vermutung, dass

terminart.terminfuerresourcedoppelklick_ident IS NULL

eine Prüfung darauf ist, ob es sich um eine Ressource handelt und nicht um einen wirklichen Termin, würde ich empfehlen, die Eigenschaft termin.terminArt.infoTermin zu verwenden. Diese ist genau für Termine false (i.e. ='f') und für Ressourcen true (i.e.='t').

Der von Ihnen verwendete Test funktioniert nur, insofern für jede Ressourcen-Art eine Terminart eingestellt ist, welche beim Doppelklick auf diese erzeugt wird.

Mit freundlichen Grüßen,

Toni Ringling

Vielen Dank für den Hinweis, werde das anpassen!
10,470 Beiträge
16,852 Antworten
27,067 Kommentare
4,993 Nutzer