Neues in Elvis
• Elvis 2
• Elvis 3
– Server
– Terminal
– Sonstiges
– Roadmap
27.02.2015 © IT GmbH - www.it-gmbh.de
Version 2.7.779
• Falcon 2.2
– USB: 3 Probleme gelöst
– IP: 3 Probleme gelöst
• Verbesserung des Verhaltens bei
Netzwerkstörungen
– Je nach Ort der Störung war Verhalten
verschieden
• Zur Zeit im Test, Release Mitte März
27.02.2015 © IT GmbH - www.it-gmbh.de
Neues im Prozessserver
• Neue Prozessanschlüsse
– 1-wire
– openHAB
– Generic*
– Fidelio
• Audit
27.02.2015 © IT GmbH - www.it-gmbh.de
1-wireKostengünstige Sensoren
• Von Dallas Semiconductors/Maxim zur
Kommunikation zwischen Komponenten
eines Gerätes entwickelt
• Leitungslängen bis zu 100m (300m bei
aktivem PullUp)
• Bis zu 20 Sensoren an einem Strang
• Versorgung über Datenleitung
(„parasitär“) oder separat
27.02.2015 © IT GmbH - www.it-gmbh.de
1-wireBeispiele
• Temperatursensoren
• Luftfeuchtesensoren
• Umgebungslichtsensoren
• Luftqualitätssensoren (VOC)
• Wettersensoren
Elabnet FuchsQuelle: Elaborated Networks
27.02.2015 © IT GmbH - www.it-gmbh.de
1-wireiButton
• Gleiche Technik, andere Bauform
• Eindeutige ID
(Seriennummer)
„I-button“ von Stan Zurek - Eigenes Werk.
Lizenziert unter CC BY-SA 3.0 über
Wikimedia Commons
27.02.2015 © IT GmbH - www.it-gmbh.de
1-wireKommunikation
• Nur „Low-Level“ standardisiert
• Master (=Elvis) muss viel Wissen über
Gerätefunktion haben
• Im Moment unterstützt: Temperatur,
Feuchtigkeit, Ein/Aus, ADC• 1-wire family codes: 01-02, 04-06, 08-0C, 0F-10, 12-14,
18, 1A, 1C-1D, 1F-24, 26-29, 2C-2D, 30, 33, 37, 3A, 41-
43
27.02.2015 © IT GmbH - www.it-gmbh.de
1-wireAnschluss und Konfiguration
• USB-Hostadapter
Quelle: Elaborated Networks
27.02.2015 © IT GmbH - www.it-gmbh.de
1-wireAnschluss und Konfiguration
• Datenpunkte können direkt in Elvis
eingelesen werden.
Seriennummer Funktion
27.02.2015 © IT GmbH - www.it-gmbh.de
openHABSmartHome-Protokolle
• open Home Automation Bus
• Ca. 80 Anbindungen
– Syteme (z.B. digitalSTROM, EnOcean,
Homematic, Z-Wave)
– Geräte (z.B. Comfo Air, Onkyo AV)
– Dienste (z.B. Weather)
27.02.2015 © IT GmbH - www.it-gmbh.de
openHABBindings
AlarmDecoder Anel Asterisk Astro BenQ-Projector Bluetooth ComfoAirConfigAdmin CUL CUPS DAIKIN Davis digitalSTROM DMX512 DSC-Alarm DSMR EDS-OWSever eKey Energenie EnOceanEpson-Projector Exec Freebox Freeswitch FritzAHA Fritz!Box FS20 Global-Cache-IR GPIO HAI/Leviton-OmniLink HDAnywhere HeatmiserHomematic/Homegear HTTP IEC62056-21 IHC/ELKO Insteon-Hub Insteon-PLM IRtrans jointSPACE KNX Koubachi Leviton/HAI-OmnilinkLg-TV MAX!Cube MAX!CUL MiLight MiOS ModbusTCP MPD MQTT MQTTitude Neohub Netatmo Network-Health Nibe-Heatpump NikobusNovelan/Luxtronic-Heatpump NTP One-Wire Onkyo-AVReceiverOpenEnergyMonitor OpenPaths-PresenceDetection OpenSprinklerOSGi-ConfigurationAdmin Philips-Hue Piface pilight Pioneer-AVR Plugwise PLCBus Pulseaudio RFXCOM Samsung-AC Samsung-TV Serial Satel-Alarm Snmp Somfy-URTSI-II Sonos Squeezebox Swegon-Ventilation SystemInfo TCP/UDP Tellstick TinkerForge Tivo VDR Velleman-K8055 Wake-on-LAN Waterkotte-EcoTouch-Heatpump Weather Wemo WithingsXBMC xPL YamahaReceiver Z-Wave Zibase
27.02.2015 © IT GmbH - www.it-gmbh.de
openHAB-Anschluss
Elvis Server
Elvis openHAB Anschluss openHAB Runtime
openHAB Bindings
HTTP(S)
27.02.2015 © IT GmbH - www.it-gmbh.de
openHAB Konfiguration
• Das openHAB-System wird mit dem
openHAB-Designer konfiguriert.
• Items eines laufenden openHAB-Systems
können direkt in Elvis eingelesen werden.
Ergebnis: Datenpunktliste
27.02.2015 © IT GmbH - www.it-gmbh.de
openHAB Items
• Ergeben Elvis-Datenpunkt mit Adresse
<Type>#<Name>[#<Rolle>]
• Type: Switch, Rollershutter, Contact,
String, Number, Dimmer, DateTime, Color
• Beispiele:
– Switch#Licht_EG_Flur_Decke
– Dimmer#Licht_EG_Wohnen#OnOff
27.02.2015 © IT GmbH - www.it-gmbh.de
openHABKonfiguration
• Datenpunkte können direkt in Elvis
eingelesen werden.
• Erzeugt auch gleich Funktionen!
27.02.2015 © IT GmbH - www.it-gmbh.de
Generic*PortUniversal-Anschlüsse
• GenericSerialPortfür serielle Protokolle
• GenericIpPortfür IP-basierte Protokolle
• GenericWebPortfür HTTP-steuerbare Geräte und Webdienste
27.02.2015 © IT GmbH - www.it-gmbh.de
Generic*PortKonfiguration
• Kommunikationstechnik-abhängige
Parameter
– GenericSerialPort: COMx, Baud, …
– GenericIPPort: IP-Adresse, Port, …
– GenericWebPort: URL, …
27.02.2015 © IT GmbH - www.it-gmbh.de
Generic*PortKonfiguration
• Geräte-/Protokollspezifika in XML-Datei
– Muss nur einmal erstellt werden
– Zu sendende Befehle mit Platzhaltern für
Adresse und Wert
– Antworten/Meldungen mit Vorschrift zur
Extraktion von Adresse und Wert
27.02.2015 © IT GmbH - www.it-gmbh.de
Generic*PortKonfiguration
• XML-Datei ins Projektverzeichnis kopieren
(oder Elvis-Programmverzeichnis)
27.02.2015 © IT GmbH - www.it-gmbh.de
GenericWebPortHTTP-Dienste und -Geräte
• Geräte, die sich über HTTP abfragen /
steuern lassen, z.B.
– AV-Geräte
• Dienste, die sich über HTTP abfragen
lassen, z.B.
– Wetter-APIs
27.02.2015 © IT GmbH - www.it-gmbh.de
GenericWebPortWunderground
• http://www.wunderground.com
• Stellt ein API für Wetterdaten (aktuelle
und Vorhersage) zur Verfügung
• Anmeldung erforderlich
privater API-Schlüssel
• Bis zu 500 Abfragen pro Tag kostenlos
27.02.2015 © IT GmbH - www.it-gmbh.de
GenericWebPortWunderground XML-Datei
<GenericWebProcessDriverConfiguration
ReadRequestURL='http://api.wunderground.com/
api/{U}/geolookup/conditions/forecast/
lang:DL/q/autoip.xml'
ForceCache='PT5M'
ContentType='Xml'
ReadResponseExtractor='/response/current_obs
ervation/*'
ReadResponseAddressExtractor='name()'
ReadResponseValueExtractor='text()' />
Platzhalter{U}=UserName
hier: privater API-Schlüssel
Abfragen auf kostenlose Menge
beschränken
XML, Extraktion der Daten via XPath
Extraktion der DP-Adresse
Extraktion des Werts
27.02.2015 © IT GmbH - www.it-gmbh.de
GenericWebPortWunderground Anschluss
XML-Datei auswählen
Privater API-Schlüssel
27.02.2015 © IT GmbH - www.it-gmbh.de
GenericWebPortFeatures
• Protokolle
– http (GET, PUT, POST)
– https (GET, PUT, POST)
– ftp
• Proxy-Unterstützung
• Authentifizierung
– Benutzer/Passwort
– In Arbeit: OAuth 2.0 (z.B. für Google APIs)
27.02.2015 © IT GmbH - www.it-gmbh.de
GenericWebPortFeatures
• Ergebnisse
– HTML (Extraktion: XPath)
– XML (Extraktion: XPath)
– JSON (Extraktion: JPath)
– Text (Extraktion: regulärer Ausdruck)
27.02.2015 © IT GmbH - www.it-gmbh.de
GenericWebPortFeatures
• Platzhalter in URLs, HTTP-Headern
– {U} = Benutzername
– {P} = Passwort
– {A} = DP-Adresse
– {T} = „Prozess-TypInfo“ aus DP-Typ
– {V} = DP-Wert (nur beim Schreiben)
27.02.2015 © IT GmbH - www.it-gmbh.de
GenericIPPortBeispiel
• Ein Gerät sendet UDP-Messages der Form {name:wert}, z.B.{album:Landscape} {track:Venezia}
• XML-Datei:• <GenericIpClientProcessDriverConfiguration
ProtocolType="Udp" ReportValueRegex=
"\{(?'a'[^:]*):(?'v'[^}]*)\}" />
• Schreibt im Beispiel „Landscape“ in den DP mit Adresse „album“ und „Venezia“ in den DP mit Adresse „track“
27.02.2015 © IT GmbH - www.it-gmbh.de
FidelioZimmer-Belegungen abrufen
• Micros Fidelio: Führende Hotelsoftware
• Elvis-Anbindung vor Abschluss des Micros-
Zertifzierungsprozesses
• Anbindung seriell oder IP
• Belegungsstatus jedes Raums steht als
Datenpunkt zur Verfügung
27.02.2015 © IT GmbH - www.it-gmbh.de
AuditWer war‘s?
• Ziel: Protokollieren von Änderungen
• Ins Elvis-
Rechtesystem
integriert:
27.02.2015 © IT GmbH - www.it-gmbh.de
AuditLaufzeit-Konfiguration
• Mit ElvisSupport / Serverkonfiguration
• Typ: – Textdatei
– Datenbank
– Windows Eventlog
27.02.2015 © IT GmbH - www.it-gmbh.de
Weitere Server-Elemente
• Neu/Erweitert
– Datum/Uhrzeit-Extraktor
– Tor
– PWM
– Prioritäts-Selektor
– Feld-Splitter / Feld-Montage
– CustomMediaProcessPort
– KNX: DPT 222
27.02.2015 © IT GmbH - www.it-gmbh.de
Neues im Terminal
• Neue und erweiterte Steuerelemente
– ElvisValueDisplay
– ElvisSlider
– MultiStateControl
– AlarmListControl
– HistoryControl
• Sprachumschaltung (eigener Vortrag)
27.02.2015 © IT GmbH - www.it-gmbh.de
ElvisValueDisplayAnzeige Farbmischung
• Stil „Farbmischung (0…100)“
• Wert = 0 Farbe = Hintergrund
• Wert = 100 Farbe = Vordergrund
• Dazwischen: Farbmischung
27.02.2015 © IT GmbH - www.it-gmbh.de
ElvisValueDisplayAnzeige Rolladenposition
• Stil „Stellung von Oben (0…100)“
Pinsel: BorderBrushBreite: BorderThickness
Pinsel: Foreground
Val
ue
[0…
10
0]
Pinsel: Background
Gibt‘s auch fix und fertig als Stil „Rolladen (0…100)“
27.02.2015 © IT GmbH - www.it-gmbh.de
ElvisValueDisplayAnzeige Windrichtung
• Stil „Drehung (0…360)“
Pinsel: Background
Pinsel: Foreground
Value [0…360]
Gibt‘s auch fix und fertig als Stil „Windrichtung (0…360)“
27.02.2015 © IT GmbH - www.it-gmbh.de
ElvisSlider
• Vereinfachte Eingabe von Analogwerten
• Schieberegler
• Auf/Ab-Taster
27.02.2015 © IT GmbH - www.it-gmbh.de
AlarmListControl
• Mehrfachbindung
– Bislang: nur an ein Alarm-Element bindbar
– Jetzt: Bindung an beliebig viele Alarm-
Elemente
27.02.2015 © IT GmbH - www.it-gmbh.de
Performance
• Serverstart
– Projekt mit 4600 DP, 9000 log. Elementen
– Vorher (3.2.118): 60 Sekunden
– Jetzt (3.2.133): 6 Sekunden
– Wodurch?
• Optimierung bei Auflösung von Referenzen
• Optimierung bei Initialisierung über Bindungen
• Nutzung mehrerer CPU-Kerne
27.02.2015 © IT GmbH - www.it-gmbh.de
Performance
• Erstes Öffnen einer Terminal-Seite
– Mit 100 Datenpunkt-Bindungen
– Vorher (3.2.118): 5 Sekunden
– Jetzt (3.2.133): 0.5 Sekunden
– Wodurch?
• Sofort darstellen
• Datenanforderung im Hintergrund
• Bündelung von Abfragen
27.02.2015 © IT GmbH - www.it-gmbh.de
Performance
• Designer
– Öffnen eines großen Projekts
– Server-Projekt erstellen
27.02.2015 © IT GmbH - www.it-gmbh.de
RoadmapWas bringt die Zukunft?
• In Arbeit:
– Meldeanschluss Telefonie
– Philips Hue
27.02.2015 © IT GmbH - www.it-gmbh.de