Projekt: Apps für LaMetric-Time mit FHEM ansteuern

Mit ** gekennzeichnete Links auf dieser Seite sind Affiliatelinks.

Als ich mir die LaMetric Time zugelegt habe, gab es noch gar keine Integration für FHEM oder andere Smart Home Systeme. Also musste ich das Modul selbst entwickeln. Seitdem nutze ich die LaMetric für Notifications aller Art. Nun werden Notifications aber nur kurz angezeigt und verschwinden dann sofort wieder. Zusatzinfos wie z.B. die aktuelle Raumtemperatur oder andere Daten kann man so nicht darstellen. Klar, man könnte alle paar Sekunden eine Notification ohne Ton versenden - aber wie nervig wäre das? Also zeige ich Dir in diesem Video, wie Du eine eigene private App für die LaMetric erstellst und diese mit Daten fütterst.

Was Du brauchst?

  • Eine FHEM-Installation
  • Eine LaMetric-Time
  • Einen Developer-Account bei LaMetric

Video

FHEM-Kurs

Befehle

##############################################
# $Id: myUtilsTemplate.pm 7570 2015-01-14 18:31:44Z rudolfkoenig $
#
# Save this file as 99_myUtils.pm, and create your own functions in the new
# file. They are then available in every Perl expression.

package main;

use strict;
use warnings;
use POSIX;
use HttpUtils;

sub myLaMetricUtils_Initialize($$) {
  my ($hash) = @_;
}

# Enter you functions below _this_ line.

sub sendToLametricApp($$) {
	my ($icon, $text) = @_;

	my $data = '{
		"frames": [
			{
				"text": "' . $text . '",
				"icon": "' . $icon . '",
				"index": 0
			}
		]
	}';

	HttpUtils_NonblockingGet(
		{
			method     => 'POST',
			url        => 'https://192.168.44.59:4343/api/v1/dev/widget/update/com.lametric.50fded02d728611fbcbeb7d29eea6244/1',
			timeout    => 3,
			data       => $data,
			header     => "X-Access-Token: Zj...WI0Nw==",
			callback   => sub($$$) {
				#Log(1, "ERR: $_[1] DATA: " . length($_[2]));
			}
		}
	);
}

1;
{sendToLametricApp('i7997', 'klappt')}

{sendToLametricApp('a5836', ReadingsVal('WZ_HeizungZentrale_Climate', 'measured-temp', '?') . '°C')}
define n_LaMetricDisplayFrame notify WZ_HeizungZentrale_Climate:measured-temp:.* {sendToLametricApp('a5836', ReadingsVal('WZ_HeizungZentrale_Climate', 'measured-temp', '?') . '°C')}
attr n_LaMetricDisplayFrame alias LaMetric: Aktuelle Temperatur im Wohnzimmer darstellen
attr n_LaMetricDisplayFrame group DeviceLogik
attr n_LaMetricDisplayFrame room Logik

Alternativ geht natürlich auch

define n_LaMetricDisplayFrame notify WZ_HeizungZentrale_Climate:measured-temp:.* {sendToLametricApp('a5836', $EVTPART1 . '°C')}
attr n_LaMetricDisplayFrame alias LaMetric: Aktuelle Temperatur im Wohnzimmer darstellen
attr n_LaMetricDisplayFrame group DeviceLogik
attr n_LaMetricDisplayFrame room Logik


Newsletter

Trage Dich jetzt in den Newsletter ein und genieße dadurch viele exklusive Vorteile:

  • 5€-Gutschein für den Online-Shop
  • Zugang zu exklusiven Inhalten
  • Angebote für Produkte
  • Immer auf dem Laufenden

* Durch Angabe meiner E-Mail-Adresse erkläre ich mich damit einverstanden, dass mir regelmäßig Informationen und Produktempfehlungen aus dem Fachgebiet Smart Home zugesendet werden. Mit dem Eintrag akzeptieren Sie unsere Datenschutzbestimmungen. Meine Einwilligung kann ich jederzeit widerrufen.

Auf YouTube und hier im Blog gibt es bereits unzählige kostenlose Videos, Informationen und Tutorials. Wenn Dir das noch nicht reicht, ist ein Training genau das richtige für Dich! Die folgenden Trainings haben den Vorteil, dass immer von Anfang an gestartet wird und Du ohne Vorwissen teilnehmen kannst.