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

Mit ** gekennzeichnete Links auf dieser Seite sind Affiliatelinks.

Projekt: Apps für LaMetric-Time mit FHEM ansteuern
Projekt: Apps für LaMetric-Time mit FHEM ansteuern
  • Matthias Kleine
  • 04.12.2018
  • Projekt

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

LaMetric Time WLAN Tischuhr Schwarz Alarmzeiten 1 **

LaMetric Time WLAN Tischuhr Schwarz Alarmzeiten 1

##############################################
# $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
Ich will mehr

Smart-Home-Training von A-Z

Steig noch tiefer in die Themen ein und meistere Deine Projekte!

ioBroker-Master-Kurs

ioBroker-Master-Kurs

Mehr Infos
Hausbau-Kurs

Hausbau mit KNX

Mehr Infos
Lox-Kurs

Lox-Kurs

Mehr Infos
NodeRed-Kurs

NodeRed-Kurs

Mehr Infos