Seiten

Mittwoch, 3. Mai 2023

Proxmox VNC client access

 If you are running proxmox and you would like to connect to one of your Virtual Machines via a local VNC client, then you have to change the setup at the general proxmox instance.

1. Go to your proxomx web interface

2. select your main proxmox node and go to your shell

3. change to folder /etc/pve/local/qemu-server

4. use "nano" to chnge content of your config file of your VM. Th enam eo fthe config fiel relates to the instance numbering you have defined, e.g. 101, 102 ...

means use: nano 101.conf

5. add the follwoing line at the end of the document:
args: -vnc 0.0.0.0:77

where 77 is the "key" by which you will be able to connect to the VNC server of your VM.

6. Now save.

7. MOST IMPORTANT hint which is not described at the official proxmox documentation: 
restart your VirtualMaschine to which you would like to connect. For me it takes several days to to figure out why connection iwas not working until i finally rebootet the virtuial maschine by accident...

8. No you can user your local VNC client to connect to your vm.
You can do this by connect to the IP address of you proxmox server and use the port 5900 and add value of the "key" we specified before. in the example mentioned above it s 77. means the portnumber would be 5900+77 = 5977


reference: VNC Client Access - Proxmox VE

Mittwoch, 16. September 2020

Creality Ender 3 v2 - To Do List

  1.  Filiament storage container with roles, humidity indicator, nearly hermetic; 

  2. buying filiament roles

  3. Raspberrypi Camera + Raspberrypi itself holder and camera arm

  4. Auto bed leveling sensor Upgrad

  5. Checking for flagstone as new heated bed

  6. Building a "house" for the printer to shade it from dust

  7. Adding LED stripes for better lighting

Creality Ender 3 v2 - Issues and solutions

Hi guys,

now i am starting with 3d priting.

It is a Creality Enders 3 V2 3D printer from china.


I have already started wokring with it and faced a lot of issues.

This blog post shoul dbe a collection of issues and solutions, found on the internet or experienced by my self.


enjoy.



Problem

Printing Object is not sticking to the ground or a corner is not sticking to it.

Solution

Edit your 3d model and add a ground floor to the object and around of it. This will have the effect like a basement to give better stability.
This can be done automatically by your Slicer Software like "cura". It has the functionality to add "raft" or a stable "basement" to the model:
Clean your bed regulary with alcohol like ethanol or isopropanol.

Increase the bed temperature and ensure, that the delta between nozzle temperature and bed temperature is not too high.

Play with the fan speed to reduce cooling.


Problem

Filliament is not sticking to the ground druing extrusion out of the nozzle

Solution

It might be possible, that the nozzle is too far away from the ground. So the filliamen has to flow too long from the nozzle to the ground. this might lead to this problem.
Recalibrate your z-axis/ your bed.
Check if the z- axis sensor has been placed at the lowest posisble level. So the nozzle is next to the surfce of the bed but not touching it yet. If this is the case do a calibrating move of your printer (home position" and check the distance from the nozzle to the ground.
then setup the distance between the bed an dthe nozzle manully that it is equal at each four cornors of the bed.
Beware of that you have initially lowered the be dto the lowest possible level befor adjusting the z-axis sensor.

Another possibility, increate the temperature of the extruder in order to increase the liqudity of the filliament. 

Buy an upgrade for your printer like "Auto Bed Level-Sensor" to automatically consider different values of the z-level during printing run. The program will compensate the slopes and the printing will happen like the bed ha sbeen leveled accurat.



Problem

You have to load your printing files manually to the sd card of the printer.

Solution

Using a rasperry pi as an attached server to the printer, it is possible to load new printing objects to the SD card of the printer as well as to the raspberry pi itself via netzwork. 
In addition, it can control your whole printer including parameters, temperatures ...

A special distrivution ha sbeen created to offer the functionalities which are needed.
OctoPrint is a available as distribution for your raspberry.

Important: To connect your raspberrypi to ocotprint, you need a usb cable to micro usb which is used for data connection and not charging only (e.g. amazon basic usb cable are able to be used for data connections)

Sonntag, 23. Dezember 2018

FHEM presence functionality

Hello guys,

during christmas time i have checked the functionality to determine if someone is still at home or everybody has left and no one is at home.

Idea
We would like to close all of our shutters if we are leaving the home during the day for more than an hour. During this time the shutter should be closed automatically and opend up again if anyone is back at home.

FHEM is offering an module to send a standard ping request to the devices. It will check if the ping request has received an answer from the device or not.

But modern smartphone have energy saving modes which try to save battery. If it is not used, the wireless connection will be cut and the solution using the ping functionality will not work anymore.

Some guys at german FHEM Forum have published a solution which will be a two step solution.
First step will do a normal ping and the second step will be executed if the first ping was not sucessfull. For the second step the program arp-scan and hping3.

This solution looks very nice and is doing its jobs.

Please check the following post and FHEM Forum for current (23.12.2018) solution.

https://forum.fhem.de/index.php/topic,76342.msg769242.html#msg769242


Furthermore the user rights for user FHEM which is used for general FHEM installation whoudl be extended to execute super user rights to execute arp-scan and hping3 as well as the mentioned script.

Try it and give feedback about your experiences reagarding this solution.


Thank you.

Dienstag, 18. April 2017

Stratus Forms for Sharepoint

hello guys,

i found a very cool project, which provide an open source for non-commercial use scripts to use powerfull infopath like forms in sharepoint

It sound very fancy and powerful.

Please check the follwoing link: http://www.stratusforms.com

 I just post the benefits of this project:

For the next Sharepoint Adjustments I will test this framework. I am very excited about the fact that no installation are needed.

Do you already used this framwork? Then leave me a message about your experience.


This is a video which shows the functioanlity and gives osme advices how to use it.
https://collab365.community/infopath-we-dont-need-no-stinkin-infopath/

Greetings

Donnerstag, 21. Januar 2016

REST SharePoint API - Meaning of the Value

Hi there,

creating a Call-HTTP Werbservice needs to specify a "Dictionary". In this dictionary, you have to declare the "Content-Type" as well as "Accept".

This Site explains what does the value exactly mean and what does it do.
https://blogs.office.com/2014/08/13/json-light-support-rest-sharepoint-api-released/

  • accept: application/json; odata=verbose
  • accept: application/json; odata=minimalmetadata 
  • accept: application/json; odata=nometadata
Each reduces the amount of given meta data of the source. The first one gives all meta datat back. The last one reduces the amount of meta data at a minimum.

greetz

Donnerstag, 7. Januar 2016

Sharepoint 2013 Online Workflow - Get current Time and Date

Hi,

at the moment I'm working very much with Sharepoint 2013 Online and - thank god - I have access to the SharepointDesigner.

Background

I was trying to create a workflow which had the purpose to check a list of treatys. If they run out of time, they may need to be quit. This workflow runs once a day forever (simple infinity loop). 

It wasn't very beautiful, that the workflow has started every day on the same time I started the workflow the first time (9 o'clock in the morning). Looking in the future, the amount of treatys will raise. Therefor using the resources of sharepoint during the daybusiness, is not very helpful. Yes of course, I could wake up in the middle of the night an start the workflow once but this solution is too simple and not cool.

So I was looking for a possibility to trigger the workflow by time. Specify the starting time isn't complicated. You can specify it using a sharepint list and capture the entry by the workflow or just set a workflow variable with the specific time.

But, the workflow still not knows the current time and date.


Solutions of the Web

I found some solutions on the web but they weren't very helpful for my situation. Why? Well, the workflow willl never ends. he will always run. Therefor it is necessary it requires less ressources and produces less amount of data or using less memory. 
  • One solution was to create or modify a dummy file and capture the datetime of creation/ modification. 
  • the second solution suggests to create a history log entry with an unique description. Then the workflow has to capture the creation date of the log entry. Well this would work but considiring my problem, the system would create one log entry each day. That means 365 - btw 366 in this year 2016 - entries each year would be stored in the system. I haven't figured out how to delete them. Maybe it is very easy.

My Solution

I found the following blog entry of Chris Wellons. He describes his problem that he doesn't trust the local system time and wanted to get the time and date from a different source.
He describes some services which offered an API to get time and date as well as some  services using JSONP but they are alredy down.

Then Mr. Wellsons had an "heureka": 
"This is when the lightbulb went off: web servers hand out date strings all the time! It’s a standard HTTP header: Date!"
Now we are in business. 
Building Workflows using the SharePoint Designer, it offeres the action "Call HTTP Webservice".
So all we need is calling a GET-Method to a random website, filtering the response for "date" and voilá, we have the current date and time (GMT).

Step by step: 
  1. Reading the specification RFC 2616 Chapter 14.18 (Wikipedia), the respond as well as the request of an HTTP Request contains the date and time of the request as well as of the respond.To check the specification, use Web-Sniffer to see which content your request will have.
    The request to google will respond with the following information:

    The field "Date" ist interesting, because it rovides the information about the current time (GMT) and date.
  2. Open SharePoint Designer and create a new Workflow 2013, not 2010.
  3. Create a new dictionary
  4.  Add the following elements:
    I'm not sure, if this is necessary but it will work.
  5. Store the Output in a new variable of the type "dictionary" and name it "dictionary"
  6. Create "Call HTTP-WebService"-Action
  7. Click on "This" and add the webservice. To be mentioned: I don't want to get the content of the webservice. I'm only interested in the meta information. Therfore i used the follwoing third party service to transform the respons in propper JSON style: http://www.firstamong.com/json/index.php?q=
    This is a suggestion by HyongGuk Kim. We add http://www.google.de to the adress and write it to the HTTP Call. The HTTP-Method is set to "HTTP Get".
  8.  The respond has to be stored somewhere. Therefor we store it in a variable "Header" of the type "dictionary".
  9. Furthermore we have to set a variable of the type "dictionary" to tore the respond output for "RespnseStatusCode". But we will not need it. The Software will create an error, if no variable is set.
  10. Click with your right moue button on the "Call HTTP-Webservice"-Action and choose "properties". Set the dictionary we created in step 3 to "Request Header" like shown in the following picture:
  11. Now first test it. Add "Send Mail"-Action and send it to your self with the content of the variable "Header". Save and publish your workflow and start it.
  12. The variable Header has the following content:



    Using the WebService JSON Parser Online by Olivier Cuenot, you can transform the output of the header in a much better human readable style:



    Now you can see, that "COnnecntion", "Date", "Server" and "X-Powered-By" are arrays containing one field only. Now we can build our parser to get the information from the first field of the array "Date".
  13. Go to your workflow again. Add "Get Item from Dictionary"-Action and write for "item by name or path":
    Date/(0)


    Why? Well Date, Server, Connection,... are all root elements of the type array. Each of them only consits of one element. The first element will be assigned by using the index 0 in brackets. Of course you can get the information about the Server or the Connection on the same way like writing: Server/(0) or Connection/(0) .
  14. The infomration are stored in the variable "Header". Store the output in the variable "Date" of the type "Date and Time".

    Add the variable "Date" to the "Send a Mail"-Action. Looking Up the wrkflow variable, you can retrive the infomration tored in the date variable of the type "date and time" in different format, e.g. long/ short time, long/ short date, string or iso
  15. Finally save and publish yur workflow and start it.
  16. The mail looks like this:

  17. Now we are able to use the current date and time working with a Sharepoint 2013 workflow.
    To be mentioned: You will see that the respond time is in GMT +-0 timezone and the exact time and date stored in the variable date is in GMT +1. Maybe a nice function of Sharepoint? Don't know.
I know that this isn't a very clean solution. Some points arent exactly clear to my self but it works. Therefor I invite you to add explanations and improvements.

Thanks for reading.


//Edit 17.02.2016:
Meanwhile I have extracted the solution to an seperate website workflow which starts every day at 00:01 and waits 24h until it starts again. The website workflow determines the actual date and write it to a seperate list. In this list i use calculated columns to determine the date of yesterday, of tomorrow as well as the last and the next year.

  

References

  • http://nullprogram.com/blog/2013/05/11/ , 07.01.2016 
  • http://www.wonderlaura.com/Lists/Posts/Post.aspx?ID=224 , 07.01.2016
  • http://blogs.msdn.com/b/sridhara/archive/2014/08/21/fix-sharepoint-2013-workflow-recursion-prevention-part-2.aspx ,  07.01.2016
  • https://de.wikipedia.org/wiki/Liste_der_HTTP-Headerfelder#Antwort-Headerfelder , 07.01.2016
  • http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1 , 07.01.2016
  • https://blogs.msdn.microsoft.com/sharepointdesigner/2012/09/04/how-to-work-with-web-service-using-call-http-web-service-action-in-sharepoint-designer-2013/ , 07.01.2016
  • http://blog.appliedis.com/2014/10/09/sharepoint-designer-2013-workflow-working-with-web-services/ , 07.01.2016
  • http://blogs.evocom.de/af/archive/2013/08/06/sharepoint-2013-workflows-teil-1-call-http-web-service.aspx , 07.01.2016
  • https://sergeluca.wordpress.com/2013/04/09/calling-the-sharepoint-2013-rest-api-from-a-sharepoint-designer-workflow/ , 07.01.2016
  • http://json.parser.online.fr/ , 07.01.2016