go-vitotrol alternatives and similar packages
Based on the "Messaging" category.
Alternatively, view go-vitotrol alternatives based on common mentions on social networks and blogs.
-
NATS Go Client
A lightweight and high performance publish-subscribe and distributed queueing messaging system -
Confluent Kafka Golang Client
confluent-kafka-go is Confluent's Golang client for Apache Kafka and the Confluent Platform. -
NATS
A lightweight and highly performant publish-subscribe and distributed queueing messaging system. -
Mercure
Server and library to dispatch server-sent updates using the Mercure protocol (built on top of Server-Sent Events). -
Gollum
A n:m multiplexer that gathers messages from different sources and broadcasts them to a set of destinations. -
mangos
Pure go implementation of the Nanomsg ("Scalable Protocols") with transport interoperability. -
emitter
Emits events using Go way, with wildcard, predicates, cancellation possibilities and many other good wins. -
messagebus
messagebus is a Go simple async message bus, perfect for using as event bus when doing event sourcing, CQRS, DDD. -
guble
A messaging server using push notifications (Google Firebase Cloud Messaging, Apple Push Notification services, SMS) as well as websockets, a REST API, featuring distributed operation and message-persistence. -
Commander
A high-level event driven consumer/producer supporting various "dialects" such as Apache Kafka. -
go-res
Package for building REST/real-time services where clients are synchronized seamlessly, using NATS and Resgate. -
jazz
A simple RabbitMQ abstraction layer for queue administration and publishing and consuming of messages. -
rmqconn
RabbitMQ Reconnection. Wrapper over amqp.Connection and amqp.Dial. Allowing to do a reconnection when the connection is broken before forcing the call to the Close () method to be closed.
Get performance insights in less than 4 minutes
Do you think we are missing an alternative of go-vitotrol or a related project?
README
Package go-vitotrol
provides access to the Viessmann™
Vitotrol™ cloud API for controlling/monitoring boilers.
See https://www.viessmann.com/app_vitodata/VIIWebService-1.16.0.0/iPhoneWebService.asmx
Only requests I really need are currently implemented:
- Login
- GetDevices
- RequestRefreshStatus
- RequestWriteStatus
- GetData
- WriteData
- RefreshData
- GetErrorHistory
- GetTimesheet
- WriteTimesheetData
- GetTypeInfo
Any pull-request is welcome.
Install
The library:
go get -u github.com/maxatome/go-vitotrol
The vitotrol command:
go get -u github.com/maxatome/go-vitotrol/cmd/vitotrol
resulting a vitotrol
executable in $GOPATH/bin/
directory.
Example
See cmd/vitotrol/*.go
for an example of use.
Executable vitotrol
usage follows:
usage: vitotrol [OPTIONS] ACTION [PARAMS]
-config string
login+password config file
-debug
print debug information
-device string
DeviceID, index, DeviceName, [email protected], [email protected] (see `devices' action) (default "0")
-json
used by `timesheet' action to display timesheets using JSON format
-login string
login on vitotrol API
-password string
password on vitotrol API
-verbose
print verbose information
ACTION & PARAMS can be:
- devices list all available devices
- list [attrs|timesheets] list attribute (default) or timesheet names
- get ATTR_NAME ... get the value of attributes ATTR_NAME, ... on vitodata
server
- get all get all known attributes on vitodata server
- rget ATTR_NAME ... refresh then get the value of attributes ATTR_NAME, ...
on vitodata server
- rget all refresh than get all known attributes on vitodata server
- bget ATTR_IDX ... get the value of attributes ATTR_IDX, ... on vitodata
server without checking their validity before (for
developing purpose)
- rbget ATTR_IDX ... refresh then get the value of attributes ATTR_IDX, ...
on vitodata server without checking their validity
before (for developing purpose)
- set ATTR_NAME VALUE set the value of attribute ATTR_NAME to VALUE
- timesheet TIMESHEET ...
get the timesheet TIMESHEET data
- set_timesheet TIMESHEET '{"wday":[{"from":630,"to":2200},...],...}'
replace the whole timesheet TIMESHEET
wday is either a day (eg. mon) or a range of days
(eg. mon-wed or sat-mon)
The JSON content can be in a file with the syntax @file
- errors get the error history
- remote_attrs list server available attributes
(for developing purpose)
The config file is a two lines file containing the LOGIN on the first
line and the PASSWORD on the second, and is named
$HOME/.vitotrol-api
by default (when all --config
, --login
and
--password
options are missing or empty):
LOGIN
PASSWORD
License
go-vitotrol is released under the MIT License.
Miscellaneous
Want to automatically feed an Influx database with attribute values? See vitotrol2influx.
*Note that all licence references and agreements mentioned in the go-vitotrol README section above
are relevant to that project's source code only.