Update: Display TTN-Gateway status

After migrating my TTN gateway to the new The Things Stack Community Edition (see previous blog post) my script to display the gateway status stopped working. The reason behind was, that the new stack does not provide the noc api which was used in the script.

After searching in the TTN forum I found the thread New API for gateway mapping, status and info. Using this API I just need to change one line in my script and now it works again.

-  cmd = "curl -s http://noc.thethingsnetwork.org:8085/api/v2/gateways/eui-b827ebfffe06902a | jq -r '.timestamp'"
+  cmd = "curl -s https://mapper.packetbroker.net/api/v2/gateways/netID=000013,tenantID=ttn,id=eui-b827ebfffe06902a | jq -r '.updatedAt'"
The updated script is available in the github repo.

Migrate TTN-Gateway to The Things Stack Community Edition (aka V3)

 I just migrate my TTN-gateway to the new The Things Stack Community Edition (aka V3). 

I followed the instructions I found in the thread on GitHub.

  1. Create a new gateway on the things network (link)
  2. Change the server url in your local_conf.json to eu1.cloud.thethings.network
  3. Restart the gateway
Unfortunately the new stack does not provide a NOC api - so my script to output the gateway status to a OLED stop working. I will invest into this next.


Photovoltaic dashboard with Grafana

I have a SolarEdge Inverter which is monitored by a energy meter (SolarEdge SE-MTR-3Y-400V-A). The energy meter gets measurements from the inverter and measures voltage and current at the house entry point.

SolarEdge provide a monitoring service and a mobile app to monitor the system. An example is shown here:

To be able to monitor and evaluate the measurements by myself I use the following applications:
  • mbmd - to read the measurements from the inverter and energy meter
  • nodered - to calculate some derived values 
  • mqtt - to "transport" the measurements between the apps
  • telegraf - to write the measurements into influxdb
  • influxdb - to store the measurements
  • grafana - to display the measurements

The result looks like this (a snapshot is available here):



The mbmd reads the measurements from the inverter and (via the inverter) from the energy meter.
pi@racknode:/etc $ more mbmd.yaml
# REST api, use to restrict to localhost

# mqtt config
  broker: my.mqtt.server:1883
  topic: mbmd
#  user:
#  password:
  clientid: mbmd
  qos: 0
  homie: ""
  # homie: homie

# adapters are referenced by device
- device: inverter.ip.addr:1502

# list of devices
- name: inverter
  type: SE
  id: 1
  subdevice: 0 # use subdevice to access SunSpec subdevices
- name: powermeter
  type: SE
  id: 1
  subdevice: 1 # use subdevice to access SunSpec subdevices


To calculate the "self consumption" and split the measured power in Import/Export I create a Node-Red flow:

Here is the corresponding flow code.


The telegraf is configured to transfer the mqtt messages to the influxdb. 

The config is available here.


A snapshot of the dashboard is available here and also the dashboard.json is available.


HP MFP M754DN Fix "Scan to Network" error

My multifunction printer HP MFP M754DN has the ability to scan to a network folder. The target folder is provided by a samba server running CentOS8. It works with out problem but stops to be able to access the network folder some weeks ago. 

Testing the connection on the webgui results in the message: "Cannot connect to the network folder. Ensure the shared folder name is correct."

To fix it I have added the following lines in the smb.conf file on the samba server.
server min protocol = NT1    
min protocol = NT1
A further analysis of my last update activities showed that this was related to the update of the samba package from samba-4.10.4-101.el8_1.x86_64 to samba-4.11.2-13.el8.x86_64. 
According to Samba 4.11 WhatsNew the "SMB1 is disabled by default" now - and the HP printer unfortunately uses only SMB1. With the mentioned settings you enabled the SMB1 protocol again.


A 3d printable case for a ZigBee Gateway

I create a 3D model of a case for the ZigBee board.


In the cap is a cutout to place a neodymium magnet.

STL files are uploaded to my Thingivers account (link).


Using Cucumber with Gradle with tags

I want to run Cucumber from Gradle with the possibility to specify tags. Here is a build.gradle to do this:

  • gradle cucumber - will run all cucumber scenarios but not these tagged with @Ignore
  • gradle cucumber -P tags=@Smoketest - will run all smoketests but again will ignore these with the tag @Ignore.