ESPHome on ESP8266/ESP-12E 8 & 16 channel Relay

Packige!!!
ESP8266/ESP-12E/ ESP-12F 8 channel Relays board arrived.
So what do we have?
– Power input 5V / 7-28V
– 8x 10A Songle relays
– ESP-12E
– Pinrow to solder yourself
– a jumper

Ok, first try -> just give it some power via a CP2102 USB TTL Konverter.
– it opened an AP, but no captive portal has been running on it
– guess from my wife, it might me just a function check firmware
Let’s see…
– connect RX to TX
– TX to RX
– tell esphome that it’s dealing with an

esp8266:
board: esp12e

– ok, flash
– nop… no serial connection established :/
– only a reset button, but no programming
“may you need to short out GND & IO0”
*checking…*
Maybe this is what the Jumper is for
*connects jumper*
– flash works

No doku what relay is on what gpio… then try and error it is.
After like… 30min, I now have all Pins.
Relay 1 GPIO16
Relay 2 GPIO14
Relay 3 GPIO12
Relay 4 GPIO13
Relay 5 GPIO15
Relay 6 GPIO0
Relay 7 GPIO4
Relay 8 GPIO5

Oh wow… GPIO1 & GPIO3 are not in use? O.O
So yay, I2C Ports, where I can connect an AHT10 ^^
I guess GPIO2 is empty and I maybe could use it for dallas/onewire sensors or as a dum binery sensor for a switch or so.

Finally I now have a 8c relay board, that also has 3 custom Pins for free use for 17,50€ (AWS price, Ali is more like 9,50€)

Config here:https://github.com/nerdheim/random-Infosammlung/blob/ec1cb9e60a8a1b7b2e78e3cfec351c70416909c0/ESP12F_Relay_X8-doku.md

Also a 16x has arrived with 2 74HC595N Shift Register on it, but more PINs to use

Config here: https://github.com/nerdheim/random-Infosammlung/blob/main/ESP12F_Relay_X16-doku.md

[EN] Shelly 1PM

Just tested the Shelly 1PM
Findings:
– you NEED to use the internal switch / you can’t bypass it (if you want to measure)
– set „Settings -> Power on default Mode“ to „ON“ if you use it inline
– the measurement is not as exact as the 3EM, as it allways assumes 220V for it’s calculation (maybe the 1EM is better)
– measurement can be ajusted… a bit… get a Voltage reeding „Your Voltage/220v=0,x-1,x“
(In my case 235v/220v=1,06) [yes, I’m getting 235v at the plug]
– the measurement correction you find in „Settings -> Power Consumption Correction“
— Please note: your voltage changes over the day & if you set the line under load, volage will drop, so consider measuring under load.
– for that connect:
— MAINS N to N
— MAINS L to L1
— O to your Load/Production
– you can connect a Switch between L & SW -> „Settings -> Power on default Mode“ to „Switch“ so you can use a switch to operate the internal one (if you have the usecase for that… you know it)
– the Internal Switch is… next to useless for me, I can’t use it to trigger a seperate contactor for „loadswitching“
You can get better hardware (1EM/3EM) for more money (50/130€) but if you are fine with this approximate values… ~16€ is pretty good for the value you get.

EdgeRouter Testing VPN & OSPF

Vielleicht hat es der ein oder andere bereits mitbekommen, ich halte mich gern unnötig lange mit einzelnen Themen auf.
Ich hätte auch gleich anders lösen können, aber ich wollte das es so fuktioniert wie in den Tutorials beschrieben. (IPSec | OSPF)
Kurz um, es geht um UBNT EdgeRouter und VPN/IPSec + OSPF.
Ich wollte von meiner Firewall im Lab OSPF -> Onside ER -> IPSec -> Home ER -> Wifi ER, aber ich dass mich irgendeine Inompatibilität oder so gebissen hätte… nein, es war natürlich wieder IPSec – es ist schnell, aber ich hasse es bis es erstmal läuft.
Es ist auch erstmal alles nicht so schlimm, solange kein NAT/Port Forwarding und nur Public IP’s im Spiel sind.
Im großen und ganzen dachte ich mir so, „alles Anzünden & was mit Garten / Holzhütten machen“.
Symbolisch @DO9XE bei der Frage wie das denn mit dem WLAN auf der GPN18 war…
Da es absolut nich wollte, habe ich dann einen 1:1 Nachbau des Tutorial Setups bei mir auf dem Tisch hingestellt (von oben):
1. ER-R
2. ER-L
3. „Internetwolke“
4. Weiterer OSPF Router
5. Switch zum Lab

Config ER-R
VPN
configure
set vpn ipsec auto-firewall-nat-exclude enable
set vpn ipsec ike-group FOO0 lifetime 28800
set vpn ipsec ike-group FOO0 proposal 1 dh-group 14
set vpn ipsec ike-group FOO0 proposal 1 encryption aes128
set vpn ipsec ike-group FOO0 proposal 1 hash sha1
set vpn ipsec esp-group FOO0 lifetime 3600
set vpn ipsec esp-group FOO0 pfs enable
set vpn ipsec esp-group FOO0 proposal 1 encryption aes128
set vpn ipsec esp-group FOO0 proposal 1 hash sha1
set vpn ipsec site-to-site peer 203.0.113.1 authentication mode pre-shared-secret
set vpn ipsec site-to-site peer 203.0.113.1 authentication pre-shared-secret 1234
set vpn ipsec site-to-site peer 203.0.113.1 description ipsec
set vpn ipsec site-to-site peer 203.0.113.1 local-address 192.0.2.1
set vpn ipsec site-to-site peer 203.0.113.1 ike-group FOO0
set vpn ipsec site-to-site peer 203.0.113.1 vti bind vti0
set vpn ipsec site-to-site peer 203.0.113.1 vti esp-group FOO0
set interfaces vti vti0 address 10.255.12.2/30
set protocols static interface-route 192.168.1.0/24 next-hop-interface vti0
commit ; save

OSPF
configure
set interfaces vti vti0 ip ospf network point-to-point
set protocols ospf parameters router-id 172.16.1.1
set protocols ospf area 0.0.0.0 network 10.255.12.0/30
set protocols ospf area 0.0.0.0 network 172.16.1.0/24
commit ; save

Config ER-L
VPN
configure
set vpn ipsec auto-firewall-nat-exclude enable
set vpn ipsec ike-group FOO0 lifetime 28800
set vpn ipsec ike-group FOO0 proposal 1 dh-group 14
set vpn ipsec ike-group FOO0 proposal 1 encryption aes128
set vpn ipsec ike-group FOO0 proposal 1 hash sha1
set vpn ipsec esp-group FOO0 lifetime 3600
set vpn ipsec esp-group FOO0 pfs enable
set vpn ipsec esp-group FOO0 proposal 1 encryption aes128
set vpn ipsec esp-group FOO0 proposal 1 hash sha1
set vpn ipsec site-to-site peer 192.0.2.1 authentication mode pre-shared-secret
set vpn ipsec site-to-site peer 192.0.2.1 authentication pre-shared-secret 1234
set vpn ipsec site-to-site peer 192.0.2.1 description ipsec
set vpn ipsec site-to-site peer 192.0.2.1 local-address 203.0.113.1
set vpn ipsec site-to-site peer 192.0.2.1 ike-group FOO0
set vpn ipsec site-to-site peer 192.0.2.1 vti bind vti0
set vpn ipsec site-to-site peer 192.0.2.1 vti esp-group FOO0
set interfaces vti vti0 address 10.255.12.1/30
set protocols static interface-route 172.16.1.0/24 next-hop-interface vti0
commit ; save

OSPF
configure
set interfaces vti vti0 ip ospf network point-to-point
set protocols ospf parameters router-id 192.168.1.1
set protocols ospf area 0.0.0.0 network 10.255.12.0/30
set protocols ospf area 0.0.0.0 network 192.168.1.0/24
commit ; save

Config „Internetwolke“

Schlussendlich hat wer 1:1 Aufbau auch funktioniert und die Performance mit Offloading ware auch ok.

Aber trozudem ließ es sich nicht in Prodution so umsetzen, da warum auch immer, IPSec bei mir zuhause einfach nicht will.
Daher habe ich mir dann kurzerhand die Anleitung geschnappt und das einfach nochmal mit OpenVPN ausprobiert.
Ergebnis… geht, nicht schnell, aber geht und zwar Stabil und mit nur einem Public Port.
Falls jemand Ahnung hat, wie ich Tinc 1.1 auf den EdgeRouter bekomme, bitte gerne.

Shadow Computing

Ich habe mir im anfang November einen Shadow Account für ein Jahr angelegt um für mich zu evaluieren, ob „Cloud Computing“ nun auch im Endusermarkt „sinnvoll“ angekommen ist. Anbieter wie Drpoobox bieten zwar schon lange ihre Dienstleistungen an, werden aber von den meisten Endusern nicht als Cloud wahrgenommen.

Meine Motivation hierfpr war, dass ich den einzigen Computer mit „aktueller“ GPU als Server im Keller stehen habe und ausschließlich für Testing verwende. Zudem fehlt mir der bedarf an einem Standgerät, da ich auf grund verschiedener Nutzungsorte dann gleich mehrere benötigen würde. Ein Laptop in der Leistungsklasse fällt ebenfalls aus, da ich sehr viel Wert auf Akkulaufzeit bei Produktivanwendungen lege – halt normaler Office Kram.

Nun also eine vollständuge Windows VM mit Lizenz zu einem, aus meiner Sicht, Preis der für Gelegenheitsuser vollkommen in ordnung ist, zumal die GPU Dediziert zugewiesen wird und somit fast vollständig für den User zur Verfügung steht. In etwa 3-8%, je nachdem ob reiner Desktop oder Gaming Betrieb gehen jedoch für das Encoding des Videostreams zum User drauf.

Was mir sofort aufgefallen ist, dass im Officebetrieb mit meinen typischen Endgeräten keine Probleme auftreten. (W520 & x201) Sobald es aber um 1920p Spieledecodung & Downsaming geht, wird es echt hakelig.
Bei genauerer Betrachtung zeigt sich, dass die Leistung der GPU in den Clients einfach an Ihre grenzen stößt, da der Client das an die Video Engine auslagert und der eingedliche GPU Core sich meistens im Idle befindet (W520) oder bei 70% hängt (x201).
Dies führt z.B. zu so „lustigen“ Effekten, wie das z.B. bei Hitman ich Klicke, den Schuss höre, jedoch das Bild bis zu 2sec später kommt, da von der GPU massiv Frames gedroppt werden
Als gegentest habe ich dann Board mit i3-2100 & ATI HD 6670/5770 getestet, womit es dann eiwandfrei lief. Allerding ist mir der Stromverbrauch von diesem Setup mit über 70 Watt für einen quasi Thinclient dann auch wieder zuviel.

Lösungsansatz war dann den Steam Link der ja als Streaminclient ausgelegt ist als Userdevice zu missbrauchen. Allerdings musste ich hierbei mehrere Lösungen für verschiedene hürden finden.
1. Die Shadow VM bekommt eine Interne IP und z.B. Portforwarding ist nicht vorgesehen.
2. Shadow rät dringend von der Nutzung von VPN auf der VM ab
3. Der Einsatz von Admintools wie Nmap sind Organisatorisch untersagt
4. VM ist aber nicht reguliert, somit ist die Installation trozudem möglich
Somit war die erste überlegung TAP Treiber für OpenVPN zu werfen und dann jeweils einen Tunnel zu den einzelnen Standorten die ich anbinden will aufzusetzen.
Umsetzung – Client Installieren, Serverconfig erstellen, Zugriff von Netz auf Client zulassen, Server sagen, dass er dem Client immer die selbe IP geben soll, Config in Client werfen (jaja, ber webmail an mich selbst…), Tunnel aufmachen.
Als Letztes dem Steam Link die IP der Shadow VM mitteilen und los gehts.

Ergebnis: Steam übernimmt das Grabbing, Decodung und den Transport über VPN. Im Client ist eingestellt das Steam nicht im Big Picture Mode Starten soll & direkt zum Desktop gehen soll.

Hiermit ist dann ein vollständig normales Arbeiten möglich, wenn auch nur auf einem Monitor. In Zukunft wird es auch einen eigenen Shadow Client namens Ghost geben. Bleibt zu hoffen, dass dieser Dual Monitor fähig ist, bzw. zwei Anschlüsse besitzt um das Feature im Zweifel nachträglich reinzupatchen.

Praxistest auf einer Verantstaltung… Auf der Techweek Frankfurt funktionierte es, nachdem ich eine Static IP bekommen hatte, ebenso auf dem 35c3.
Dort sogar über WLAN, leider nicht überall wegen den vielen rogue AP’s in gewissen bereichen. Ansonsten geht genügend stabile!!! nutzbare Bandbreite durch um es sinnvoll zu nutzen.

Steam „inhome“ Streaming

Manchmal finde ich da neben der Arbeit doch noch Zeit zum Basteln.
Dabei war letztes Jahr um Steam Sale das Steam Link für ca. 3€ + Versand im Angebot – sonst kostet es über 50€.
Aber innerhalb des Hauses Streamen? Naja wer’s mag. Ist bestimmt interessant, wenn man es im Wohnzimmer hat oder nur einen Bildschirm braucht.
Aber für mich, mit mehr als nur einer Nuklearen Rechneranlage und zwar nicht nur im Keller, macht das wenig Sinn.
Wer keine Kabel siehen kann oder Bohren darf, kommt damit bestimmt klar, also mit Powerline & co.

Da Standard ja langweilig ist hier die eigendliche Headline:
Wie kommt der Hitman von Kassel nach Frankfurt?

A-Ende:
DTAG VDSL 100/40 MBit/s | eigenbau Router | VPN Gateway
Intel E3-1231v3 | 32G ECC | GTX 1060 6G | 10G uplink (dafür unerheblich aber egal)

B-Ende:
UM Office Internet 150/10 MBit/s (ich brauch halt v4) | eigenbau Router | VPN Gateway
Steam Link

Und hier das Ergebnis: